在selenium中找到没有任何属性的文本框c#

时间:2017-07-11 12:38:41

标签: c# visual-studio selenium selenium-webdriver

我是硒的新手。

我正在使用Visual Studio处理selenium webdriver以自动化Web应用程序和网站。

我需要知道如何找到没有任何属性的文本框和按钮。

2 个答案:

答案 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}}回答)。

即便如此,如果目标网站有很多文本框,并且每个文本框都包含在相同的结构中,例如...:

&#13;
&#13;
<div>
 <input type = "textbox">
</div>
<div>
 <input type = "textbox">
</div>
<div>
 <input type = "textbox">
</div>
&#13;
&#13;
&#13;

......它将变得具有挑战性。使用XPath,您可以选择满足条件的第n个元素(使用//input[n]或类似)。这假设页面是 static 。如果向页面添加了另一个文本框/按钮,则XPath [n-th]元素选择器可能返回错误的元素。
我不认为你可以一起使用CSS选择器。

如果有目标WebApp / WebSite的示例,那么为您的目标确定最佳选项会更容易。