所以即时尝试自动登录网站,我试图点击的按钮没有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;
}
答案 0 :(得分:2)
使用Xpath定位元素。
这样的事情:
driver.FindElement(By.XPath("//div/div/input"))
答案 1 :(得分:0)
为其分配ID。
<button class="btn btn-sm btn-block btn-green ng-binding" id="buttonSubmit">Login</button>
答案 2 :(得分:0)
找到课程和使用
$(".ng-binding").click(function(){
});
,如果有多个具有相同类名的按钮,则更具体
$("#priviousDIV .ng-binding").click(function(){
//do something
});
答案 3 :(得分:0)
我的建议是研究页面的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结构,则可以找到您要查找的元素。
每个现代网络浏览器(甚至IE)都有一些内置工具,可以让你检查页面的HTML,使用它然后制作你的代码来遍历它。