Selenium Web Driver:无法在第2页上找到该元素。

时间:2013-10-09 13:04:54

标签: java xpath selenium-webdriver

我正在使用Java和Firefox以及Firebug 我无法在第二页上找到该元素。例如,如果我登录gmail,那么我无法找到并点击下一页上发送的项目或任何其他按钮。

我尝试使用xpath(绝对和相对)但每次我收到一个错误,找不到该元素。 使用我能够成功登录的代码但是一旦页面加载,我就会收到错误“找不到元素”。

请建议任何解决方案

2 个答案:

答案 0 :(得分:1)

除非您告诉WebDriver等到加载第二页上的元素,否则WebDriver只会尝试在能够运行时立即单击该元素。这很糟糕,因为当WebDriver已经尝试点击它时你的元素可能还没有被加载...... TIMEOUT混乱随之而来......

尝试以下操作...使用WebDriverWait类使WebDriver在尝试单击之前等待页面上的元素加载...:

WebDriverWait wait = new WebDriverWait(driver, 100);
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("your xpath")));
element.click();

' 100'在WebDriverWait(driver,100)中,您希望WebDriver在超时之前重复尝试定位元素的最大秒数...

答案 1 :(得分:0)

我同意CODEBLACK的回答。你也可以进行Imlicit等待,这会使selenium在给定的时间段内隐含等待。 请尝试以下方法:     。driver.manage()超时()implicitlyWait(20,TimeUnit.SECONDS);

您可以根据自己的方便指定时间。 最好的运气。 。 !