我是硒的新手。
我正在使用Visual Studio处理selenium webdriver以自动化Web应用程序和网站。
我需要知道如何找到没有任何属性的文本框和按钮。
答案 0 :(得分:0)
你是否有一个具体的例子,或者你的意思一般?如果具体,请与我们分享HTML,并且有人可以告诉您找到它们的最佳方式。如果这是一个更一般的问题,您可以从dotnet API获取C#中可用的定位器方法列表。
如果您无法使用其属性找到元素,那么您通常仍可以使用CSS或XPath选择器找到它:
driver.FindElement(By.CssSelector("Your CSS Selector Here"));
driver.FindElement(By.XPath("//Your//XPath//Selector/Here"));
答案 1 :(得分:0)
如果您的文本框(<textarea>
或<input type="text">
)或按钮是该类型的唯一元素,则可以使用driver.FindElement(By.TagName(" textarea OR input"))
如果不是这种情况,并且您无法控制WebApp / WebSite的来源,那么您只能使用XPath(作为Martin Costello注释)或CSS选择器(作为{ {3}}回答)。
即便如此,如果目标网站有很多文本框,并且每个文本框都包含在相同的结构中,例如...:
<div>
<input type = "textbox">
</div>
<div>
<input type = "textbox">
</div>
<div>
<input type = "textbox">
</div>
&#13;
......它将变得具有挑战性。使用XPath,您可以选择满足条件的第n个元素(使用//input[n]
或类似)。这假设页面是 static 。如果向页面添加了另一个文本框/按钮,则XPath [n-th]元素选择器可能返回错误的元素。
我不认为你可以一起使用CSS选择器。
如果有目标WebApp / WebSite的示例,那么为您的目标确定最佳选项会更容易。