【问题标题】:Selenium WebDriverWait but still "Element is not clickable at point"Selenium WebDriverWait 但仍然“元素不可点击”
【发布时间】:2016-03-28 19:22:34
【问题描述】:

我有以下代码(br 是 webdriver,一切都很好导入)。

前 3 行工作正常,但 link1.click() 仍然给我一个错误:

link = WebDriverWait(br, 30).until(EC.element_to_be_clickable((By.ID, "buttonNew Project")))
link.click()    
link1 = WebDriverWait(br, 30).until(EC.element_to_be_clickable((By.ID, "MP")))
link1.click()

即使它应该等到它可以点击,我仍然得到错误:

WebDriverException: unknown error: Element is not clickable at point (543, 170). Other element would receive the click: <div id="screenBlocker" style="width: 1920px; height: 979px; display: block; background-position: 940px 420px;"></div>
  (Session info: chrome=49.0.2623.108)
  (Driver info: chromedriver=2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4),platform=Windows NT 6.1 SP1 x86_64)(543, 170)

【问题讨论】:

    标签: python selenium selenium-webdriver selenium-chromedriver


    【解决方案1】:

    其他元素会收到点击:&lt;div id="screenBlocker" st...

    screenBlocker 听起来确实像一个屏幕拦截器。您需要关闭页面顶部的弹出窗口/叠加层,使其不可见。

    如果没有可见的“关闭”按钮,只需通过这种方式使其不可见:

    blocker = driver.find_element_by_id("screenBlocker")
    driver.execute_script("arguments[0].style = {display: 'none'};", blocker)
    

    【讨论】:

    • 行得通!但它很奇怪,因为如果我运行前 3 行,然后一秒钟后运行第 4 行,它很好,所以 screenBlocker 似乎关闭得比元素可点击慢?
    • @user295944 是的,我猜可能是时间问题。很高兴它成功了。
    • 这对一些事情有用,但我最终看到了这个:github.com/seleniumhq/selenium-google-code-issue-archive/issues/…
    猜你喜欢
    • 2021-04-07
    • 2017-04-16
    • 1970-01-01
    • 2020-01-17
    • 2015-06-13
    • 1970-01-01
    • 2018-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多