[英]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.