我有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)
答案 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()