【问题标题】:How to click the button according to its text JavaScript?如何根据其文本 JavaScript 单击按钮?
【发布时间】:2021-01-20 01:49:08
【问题描述】:

我有 HTML 代码和脚本可以根据其文本单击按钮,但它不起作用。
显示我所做的简单代码:

<!DOCTYPE html>
<html>
<body>

<button onclick=alert("clicked")>Try it</button>

<script>
document.findElement(By.xpath("//button[contains(text(),'Try it')]")).click();
</script>

</body>
</html>

我也用过这个question

【问题讨论】:

  • 您将使用 selenium webdriver 控制浏览器实例的 Java 代码与浏览器中的 JavaScript 代码混合在一起。这两种语言乍一看可能很相似,但非常不同且不兼容。
  • @ChrisG Java != JavaScript
  • @Marc 再来一次...?

标签: javascript html


【解决方案1】:

如果要通过 xpath 查找元素,请改用document.evaluate

document.evaluate(
  "//button[text()='Try it']",
  document,
  null,
  XPathResult.FIRST_ORDERED_NODE_TYPE,
  null
).singleNodeValue.click()
&lt;button onclick=alert("clicked")&gt;Try it&lt;/button&gt;

【讨论】:

    【解决方案2】:

    作为解决方案,您可以尝试:

    var searchText = "Check it";
    document.querySelectorAll('button').forEach(button=>{
        if(button.innerText == searchText) button.click();
    });
    

    【讨论】:

      猜你喜欢
      • 2014-07-18
      • 1970-01-01
      • 2022-01-25
      • 2013-02-23
      • 1970-01-01
      • 2020-02-09
      • 1970-01-01
      • 2017-02-05
      • 1970-01-01
      相关资源
      最近更新 更多