Python Selenium:元素当前不可见

时间:2016-05-01 02:15:53

标签: python selenium

我有page。我必须点击Facebook图标。这样做我得到了:

selenium.common.exceptions.ElementNotVisibleException: Message: Element is not currently visible and so may not be interacted with

代码如下:

if 'log' in html.lower():
        print("not logged in")
        sleep(3)
        #Click on Fb button
        fb_element = driver.find_element_by_xpath('//a[@tooltip="Facebook"]')
        fb_element.vis
        fb_element.send_keys(Keys.TAB)

1 个答案:

答案 0 :(得分:1)

页面上有另一个带有tooltip="Facebook"的元素,这个元素实际上是不可见的。嗯,实际上有10个:

> $x('//a[@tooltip="Facebook"]').length
10

您可以找到与您的定位器匹配的所有元素,并通过next()is_displayed()过滤可见的元素:

facebook_links = driver.find_elements_by_xpath('//a[@tooltip="Facebook"]')
visible_link = next(link for link in facebook_links if link.is_displayed())
visible_link.click()