如何用selenium点击一个不可见的元素?

时间:2015-09-23 07:03:09

标签: python selenium splinter

我用这段代码检查了分裂的点击按钮选项:

from splinter import Browser

    with Browser() as browser:
    # Visit URL
    url = "http://www.google.com"
    browser.visit(url)
    browser.fill('q', 'splinter - python acceptance testing for web applications')
    # Find and click the 'search' button
    button = browser.find_by_name('btnG')
    # Interact with elements
    button.click()
    if browser.is_text_present('splinter.readthedocs.org'):
        print("Yes, the official website was found!")
    else:
        print("No, it wasn't found... We need to improve our SEO techniques")

我得到了例外: 元素当前不可见,因此可能无法进行交互。 等待浏览器不是解决方案(因为我做了很长时间的睡眠方法,但仍然无法正常工作)。 这是https://splinter.readthedocs.org/en/latest/#sample-code中显示的示例代码,但对我来说不起作用

1 个答案:

答案 0 :(得分:0)

如果要等待元素变为不可见,可以使用等待函数:

    wait = WebDriverWait(self.driver, 30)
    wait.until(EC.invisibility_of_element_located((By.XX, "something")))