无法按名称查找元素

时间:2013-05-16 06:02:38

标签: selenium webdriver element

有人可以向我解释为什么name=userid无法找到Selenium webdriver吗?

<input class="required" type="text" size="15" maxlength="64" **name="userid"** 
value="" style="background-color: rgb(255, 255, 255);">

我的代码:

driver.findElement(By.name("userid")).sendKeys(prop.getProperty("userName"));

错误:

Unable to locate element: {"method":"name","selector":"userid"}

2 个答案:

答案 0 :(得分:1)

是的,在我的应用程序中涉及到框架,并且我没有包括切换到main,因为元素在主框架中。

要解决这个问题,我只需添加&#34; driver.switchTo()。frame(&#34; main&#34;);&#34;在搜索元素之前。

我的最终代码如下

driver.switchTo().frame("main");

driver.findElement(By.name("userid")).sendKeys(userName);

希望我的回答有助于那些新的(Webdriver船)相同的人:)

答案 1 :(得分:0)

尝试下面的代码行,让我知道:

driver.findElement(By.xpath("//input[contains(@name,'userid')]")).sendKeys(prop.getProperty("userName"));