我在嘗試點擊表單中的按鈕時遇到問題。 我試過xpath,cssselector,className,id,但還是找不到它。使用Webdriver無法在表單上找到按鈕元素
這裏的按鈕的HTML片段:
<input type="button" value="Continue" id="ni-reg-btn-register" class="btnNext ni-reg-btn-register">
我使用webdriver的在Java中
獲取此跟蹤:
org.openqa.selenium.ElementNotVisibleException:元素當前不可見和因此可能不會與 命令持續時間或超時:30.09秒
頻率:100%
瀏覽器:Firefox
網址:https://subscription.thetimes.co.uk/webjourney/webj_capturecustomerdetails
我一個(但沒有運氣)嘗試每一個代碼以下行:
driver.findElement(By.className("btnNext ni-reg-btn-register")).click();
driver.findElement(By.cssSelector("buttons#ni-reg-btn-register.btnNext ni-reg-btn-register")).click();
List<WebElement> buttonlist= driver.findElements(By.className("btnNext ni-reg-btn-register"));
driver.findElement(By.id("ni-reg-btn-register")).click();
driver.findElement(By.xpath("//*[@id="ni-reg-btn-register"]")).click();
如果您收到ElementNotVisibleException,則無法單擊該元素。你可以檢查幾件事情。首先,我已經看到了很多,在DOM中可能存在另一個相同的按鈕,它是隱藏的,而不是您想要點擊的按鈕。檢查重複項。接下來檢查是否需要等待元素可見之後才能點擊它。嘗試瀏覽你的代碼,看看你是否得到相同的錯誤。 – Bob 2013-04-30 19:32:30
,現在我已經查看了您提供的網站,但沒有看到任何重複內容,但它仍然可能是時間問題。另外,既然它是一個表單,你也可以嘗試driver.findElement(By.id(「ni-reg-btn-register」))。submit();無論哪種方式,您的選擇似乎都是現貨。 – Bob 2013-04-30 19:41:08