2013-05-16 67 views
0

有人可以向我解釋爲什麼Selenium webdriver無法通過name=userid找到?無法按名稱查找元素

<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"} 
+0

是的,它是在幀,同時切換到後解決主要:)謝謝。 – user2388556

回答

1

是的,在我的應用程序有所涉及的框架,我沒有包括切換到主要的el在主要框架中。爲了解決這個問題,我只需添加「driver.switchTo().frame(」main「);」在搜索元素之前。

我的最終代碼是如下

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

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

希望我的回答可以幫助那些誰是新的(webdriver的船)同:)

0

試試下面的代碼行,讓我知道:

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

提示:如果您在代碼行的起始位置放置4個空格,它將被格式化爲代碼。 – Artemix

+0

感謝回覆:) 輸入在框架中,我沒有選擇框架。我現在已經包含了選擇主框架,現在它正在工作。 – user2388556