0

我可以在selenium IDE中成功運行以下腳本,但webdriver可以找到第一個元素。我在本地主機上使用HP WebTours App。它是一個簡單的腳本。起初我以爲腳本運行得更快,但是隱式或顯式的等待並不能解決問題。ELEMENT在webdriver中找不到,但在IDE中工作

public void testLoginWtour() throws Exception { 
WebDriverWait wait = new WebDriverWait(driver,5); //this is explicit wait 
wait.until(ExpectedConditions.elementToBeClickable(driver.findElement(By.name("username")))); 

     driver.findElement(By.name("username")).sendKeys("jojo"); 
     driver.findElement(By.name("password")).clear(); 
     driver.findElement(By.name("password")).sendKeys("bean"); 
     driver.findElement(By.name("login")).click(); 
} 
+0

您是否檢查IDE如何找到該項目? 我的意思是通過ID,名稱,Css或任何其他標識符如果你沒有請做,並嘗試在你的代碼中使用相同的標識 –

回答

0

應該是"userName"而不是"username"

下面是HTML

<input type="text" name="userName" size="10"> 

你不需要任何明確的等待。只需將其更改爲"userName"

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

下面是來自IDE的圖像。它捕獲爲「用戶名」

enter image description here

+0

這是IDE本身如何發現 - name =用戶名 – Tanvir

+0

你確定嗎?我剛剛使用IDE記錄了相同的內容,它僅顯示爲「userName」。我編輯了包含IDE屏幕截圖的答案。 – shank087

+0

是的,對,我怎麼跳過這個,但是我發現問題不僅限於元素名稱,儘管如此,我接受你的答案。非常感謝。 – Tanvir

相關問題