【问题标题】:Solve $(...)[0] is undefined error解决 $(...)[0] 是未定义的错误
【发布时间】:2015-12-12 12:28:34
【问题描述】:

我正在尝试通过返回 DOM 元素本身,使用本机 scrollHeight 属性来获取 div 框的滚动高度。

Long scrollHeight = (Long) jse.executeScript("return $(\"//*[@id='react-root']/section/main/div/div/article/div[2]/ul\")[0].scrollHeight");

但是,我收到此错误 org.openqa.selenium.WebDriverException: $(...)[0] is undefined。我该如何解决这个问题?

网页例如 https://www.instagram.com/p/_HQyf0iY9L/

我不想使用 div 框的 className,因为这只是我想要从中获取滚动高度的网站之一。 className 会因各种网页而异。

【问题讨论】:

  • 发生这种情况是因为您的选择器没有带来任何东西,您想用这个选择器选择哪个元素?
  • @RodrigoLeite 我想用这个选择器选择一个 div 框
  • 可以分享网页链接吗?
  • @drets 请查看编辑

标签: javascript java html selenium scroll


【解决方案1】:

将 xpath 选择器转换为 css 选择器:

Long scrollHeight = (Long) jse.executeScript("return $('#react-root ul')[0].scrollHeight");

【讨论】:

  • 这个错误出现了 org.openqa.selenium.WebDriverException: $x is not defined
  • 添加浏览器导入后出现这个错误incompatible types: int cannot be convert to JavascriptExecutor
  • 使用您的代码实现 - 仅更改 executeScript 方法的参数
猜你喜欢
  • 2018-10-14
  • 2020-12-11
  • 1970-01-01
  • 2020-10-14
  • 1970-01-01
  • 1970-01-01
  • 2021-08-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多