【问题标题】:selenium error ElementNotVisibleException: element not visible硒错误ElementNotVisibleException:元素不可见
【发布时间】:2018-08-27 13:33:59
【问题描述】:

我正在尝试使用 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 驱动程序浏览器,然后运行这行代码,则一切正常。有什么诀窍?请帮我解决这个问题。

【问题讨论】:

  • 您需要首先关注该网络元素
  • 您共享的html中有多个元素,您要定位哪个元素?
  • 当您发布 HTML 和/或代码时,请花一点时间使用像 jsbeautifier.org 这样的美化工具或您的 IDE 来正确格式化所有内容。如果您需要帮助在网站上正确格式化它,请参阅问题编辑器侧栏中的格式化帮助链接。它使阅读变得更容易,从而使您的问题更有可能得到回答。谢谢!

标签: python selenium-webdriver


【解决方案1】:

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

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

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

获取包含“Private”和“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]')

【讨论】:

    猜你喜欢
    • 2016-03-31
    • 2018-08-17
    • 1970-01-01
    • 2018-03-25
    • 1970-01-01
    • 1970-01-01
    • 2015-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多