【问题标题】:How to know if the javascript code has been executed in Selenium Java?如何知道 javascript 代码是否已在 Selenium Java 中执行?
【发布时间】:2014-07-17 05:16:00
【问题描述】:

我在 java 中的 Selenium Webdriver 测试中有这部分代码。我使用此 javascript 代码滚动到页面中的特定值 i

((JavascriptExecutor) driver).executeScript("scroll(0,"+i+");");

scroll(0,y) 不返回值。有没有办法知道这个脚本是否已经执行?

【问题讨论】:

  • 你为什么不去调试看看它是否真的执行了
  • 滚动后截图。但是,我注意到当涉及到动态页面时,javascript 代码和 getScreenshots 不同步
  • 即使我在滚动页面后截取屏幕截图。它工作正常。你指的是“动态页面”吗?
  • 包含动态内容的页面。比如说 9gag.com,它的内容一直在动态加载。
  • "+i+" 是什么意思?

标签: java javascript selenium selenium-webdriver


【解决方案1】:

您是否尝试从脚本中获取返回值,然后您可以从 Selenium 本身处理?尝试使用:

if(window.pageYOffset!= undefined){
  return [pageXOffset, pageYOffset];
}

这将在滚动后为您返回偏移量。然后,您可以断言此滚动位置是否是您想要的位置。

可以在此处找到有关此方法的更多详细信息:

Getting the return value of Javascript code in Selenium

How to get scrollbar position with Javascript?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-22
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多