【问题标题】:Element is not clickable at point because another element <span> obscures it [duplicate]元素无法点击,因为另一个元素 <span> 遮住了它[重复]
【发布时间】:2019-06-04 06:12:40
【问题描述】:

我用下面的代码解决了这个问题,我在其他帖子中没有找到解决方案,所以我试着让自己工作得很好。我现在不知道它是否是一个好的代码,因为我是 Python 和编程的新手,但它确实有效。

因为我想使用可见文本(不是按值或选项编号)选择元素,所以我使用了以下代码,其中包括通过 Xpath [contains(text(), 'text')] 查找元素,然后更改html。也许它对另一个有用。

self.driver.execute_script(
    "arguments[0].selected=true",
    self.driver.find_element_by_xpath(
        '//*[contains(text(), "%s" )]' % 'your_visible_text'
    ),
)

【问题讨论】:

    标签: python selenium selenium-webdriver geckodriver


    【解决方案1】:

    此问题通常发生在 chrome 浏览器中,因为 chrome 使用点位置。当元素在 DOM 中加载但位置未固定在 UI 上时,会发生这种情况。您可以使用某些特定的解决方案来解决此问题:

    1. 等待:

      使用 WebDriverwait 和 Expected Conditions 类。

      例如:

      visiblityOfElementLocated(按定位器)

      visibilityOf(WebElement 元素)

      在执行操作之前,我们正在等待元素出现并可见

    2. 在选择下拉菜单之前尝试最大化浏览器窗口

      驱动程序.manage().window().maximize();

    希望对您有所帮助。代码使用Java selenium,请使用其对应的Python代码。

    【讨论】:

    • 我已经使用了 visibility_of_element_located 和 element_to_be_clickable 作为 EC。这两个条件都通过了,如果我分别检查它们,我会得到 True。我正在使用壁虎驱动程序。我暂时使用 FirefoxOptions --headless 解决了这个问题
    猜你喜欢
    • 2019-07-05
    • 1970-01-01
    • 2018-12-19
    • 2021-08-03
    • 2020-09-24
    • 1970-01-01
    • 2020-06-10
    • 2018-08-21
    相关资源
    最近更新 更多