Java webdriver sendKeys不';不要等待页面加载
我对selenium webdriver有意见,如果有人能帮助我,我将非常感激 环境:Java webdriver sendKeys不';不要等待页面加载,java,selenium,webdriver,selenium-webdriver,Java,Selenium,Webdriver,Selenium Webdriver,我对selenium webdriver有意见,如果有人能帮助我,我将非常感激 环境: selenium-server-standalone-2.31.0.jar/selenium-server-standalone-2.35.0.jar IEDriverServer.exe(试用版2.28-2.35) 示例代码: WebElement href = this.findElement(By.xpath("//A")); href.sendKeys(Keys.ENTER); href.
- selenium-server-standalone-2.31.0.jar/selenium-server-standalone-2.35.0.jar
- IEDriverServer.exe(试用版2.28-2.35)
WebElement href = this.findElement(By.xpath("//A"));
href.sendKeys(Keys.ENTER);
href.click();
问题:解决这些问题都会对我有帮助
现在,我必须同时执行SendKey和click以获得预期的结果。无论何时执行
。在按钮或链接上单击()
,会调用类似“waitTillPageLoads()”的内部方法,因此webdriver会等待下一页完全加载
我曾经经历过这样一个场景:由于web应用程序太慢,页面加载等待了将近10-15分钟。听起来我知道
但是sendKeys()
不会等待。因为sendkeys不用于单击,而是用于输入键
我想你一定有充分的理由这么做
href.sendKeys(Keys.ENTER);
若您仍然想使用这种方法,您可以隐式地使用隐式等待来等待下一页的元素
WebDriverWait wait = new WebDriverWait(webDriver, 5);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("xpath")));
请注意:
你的报价
href.click() fails to simulate user click, but successfully wait for page to load
可能是因为您尚未将浏览器级别设置为100%
无论何时执行
,请在查看我的答案。在按钮或链接上单击()
,会调用类似“waitTillPageLoads()”的内部方法,因此webdriver会等待下一页完全加载
我曾经经历过这样一个场景:由于web应用程序太慢,页面加载等待了将近10-15分钟。听起来我知道
但是sendKeys()
不会等待。因为sendkeys不用于单击,而是用于输入键
我想你一定有充分的理由这么做
href.sendKeys(Keys.ENTER);
若您仍然想使用这种方法,您可以隐式地使用隐式等待来等待下一页的元素
WebDriverWait wait = new WebDriverWait(webDriver, 5);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("xpath")));
请注意:
你的报价
href.click() fails to simulate user click, but successfully wait for page to load
可能是因为您尚未将浏览器级别设置为100%
请在查看我的答案,您可以在这里做的是在sendKeys操作之后,使用WebDriverWait对结果页面上的元素进行几次等待。这将满足您的需要。您可以在这里执行sendKeys操作后,使用WebDriverWait对结果页面上的元素进行几次等待。这将满足您的需要。您可以分享错误消息吗?既然您正在单击链接,为什么不使用单击方法而不是发送键?任何具体原因?您应该在执行单击事件后应用等待条件,即
href.sendKeys(Keys.ENTER)之后代码>在此引用不同的等待条件您可以共享错误消息吗?既然您正在单击链接,为什么不使用click方法而不是send键?任何具体原因?您应该在执行单击事件后应用等待条件,即href.sendKeys(Keys.ENTER)之后代码>此处参考不同的等待条件这是正确答案。我没有将浏览器级别设置为100%,但我使用ignoreZoomSetting启动了它,因此应用程序运行时不会出现问题,但不会单击正确的位置。非常感谢。我想在10-15分钟内加载一个页面。我正在使用selenium创建一个监视工具,它可以测量响应时间,而不仅仅是运行测试。所以显式和隐式等待的超时不适合我的需要。再次感谢你的回答。这是正确的答案。我没有将浏览器级别设置为100%,但我使用ignoreZoomSetting启动了它,因此应用程序运行时不会出现问题,但不会单击正确的位置。非常感谢。我想在10-15分钟内加载一个页面。我正在使用selenium创建一个监视工具,它可以测量响应时间,而不仅仅是运行测试。所以显式和隐式等待的超时不适合我的需要。再次感谢你的回答。