gpt4 book ai didi

selenium - 单击不幸包含链接的标签元素

转载 作者:行者123 更新时间:2023-12-02 19:09:21 25 4
gpt4 key购买 nike

我在尝试单击复选框时遇到问题。该应用程序是用 AngularJS 编写的。

无法单击该复选框,因为从技术上讲该元素不可见。使用“visible: false”无助于选中此框。我也尝试过使用 element.set(true)

该复选框位于标签元素内,该标签元素恰好也包含超链接。由于 Capybara/Selenium 默认情况下单击元素的中间,因此我最终打开超链接而不是标记复选框。单击标签中的任意位置(超链接之外)即可成功选中该框。

我怎样才能实现这个目标?

最佳答案

我建议使用 JavascriptExecutor 来单击元素。如果元素在技术上不可见,Webdriver 将不允许您使用 API 单击它,因为它试图模拟真实的用户操作。不过,您可以选择直接执行 JS,这并不重要。

这个答案将帮助您完成代码部分: https://stackoverflow.com/a/19934852/2998104

您需要将结尾稍微更改为:

JavascriptExecutor js = (JavascriptExecutor) driver;
WebElement element = driver.findElement(By.xpath("exact_locator_of_checkbox"));
js.executeScript("arguments[0].click()",element);

当然不需要只使用 xpath,而是任何可以帮助您直接指向复选框的东西。

关于selenium - 单击不幸包含链接的标签元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30737531/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com