硒错误ElementNotVisibleException:元素不可见

时间:2018-08-27 13:34:00

标签: python selenium-webdriver

我正在尝试使用python和selenium在chrome驱动程序浏览器中单击元素。 当尝试单击时,我得到了元素不可见的异常。 这是html代码:

 <div class="mid-content"><ul><li><b><span>Private</span><span><!-- react-text: 715 --> (<!-- /react-text --><!-- react-text: 716 -->
3<!-- /react-text --><!-- react-text: 717 -->)
<!-- /react-text --></span></b></li><li><img alt="" src="../img/UserProfile/lock.svg" width="18" height="24"></li><li class="bottom-title">Request to View</li></ul></div>

这是通过xpath单击的方式:

browser.find_element_by_xpath('//*[@id="App-content"]/div/div[1]/div[2]/div[1]/div[3]/div/div/a/div/ul')

它不起作用。 但是,如果我先手动单击chrome驱动程序浏览器,然后运行此代码行,则一切正常。诀窍是什么?请帮助我解决这个问题。

1 个答案:

答案 0 :(得分:1)

在下面找到如何查找 ul 元素的不同示例。

通过CSS选择器获取 ul 元素:

browser.find_element_css_selector('#App-content .mid-content ul')

获取包含“私人”和“ 3”文本的 ul 元素:

browser.find_element_by_xpath('//*[@id="App-content"]//ul[contains(.,"Private") and contains(.,"3")]')

获取 ul 元素,该元素包含带有“请求查看”文本的 li 并具有子 img 标记:

browser.find_element_by_xpath('//*[@id="App-content"]//ul[./li[.="Request to View"] and .//img]')