簡體   English   中英

如果沒有ID,如何單擊網站上的按鈕?

[英]How do I click a button on a website if it doesnt have an ID?

因此,即時通訊試圖自動登錄網站,而即時通訊按鈕卻沒有ID,因此我無法對其進行調用。

這就是它的樣子

<button class="btn btn-sm btn-block btn-green ng-binding">Login</button>

如何點擊按鈕?

到目前為止,這就是我所擁有的。

private void btnFill_Click(object sender, EventArgs e)
{
    wbBrowser.Document.GetElementById("login-username").InnerText = tbUsername.Text;
    wbBrowser.Document.GetElementById("login-password").InnerText = tbPassword.Text;
}

使用Xpath定位元素。

像這樣:

driver.FindElement(By.XPath("//div/div/input"))

給它分配一個ID。

<button class="btn btn-sm btn-block btn-green ng-binding" id="buttonSubmit">Login</button>

查找類及其用途

$(".ng-binding").click(function(){

});

,如果有多個具有相同類名的按鈕,請更具體

$("#priviousDIV .ng-binding").click(function(){
    //do something
});

我的建議是研究頁面的DOM,並使用該知識以編程方式遍歷文檔樹。 您可以做的是在按鈕上方找到一個具有ID的父元素,然后沿着樹走直到找到它。

    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        var ParentElement = webBrowser1.Document.GetElementById("parentId");
        var child = ParentElement.Children[0];
        child.InvokeMember("click");
    }

基本上,如果您知道頁面的HTML結構,則可以找到所需的元素。

每個現代的Web瀏覽器(甚至IE)都具有某種內置工具,可讓您檢查頁面的HTML,使用該HTML,然后編寫代碼遍歷它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM