【发布时间】:2019-10-06 13:51:09
【问题描述】:
我正在使用 selenium 和 python 进行自动化测试,但在尝试单击 web 中的元素时遇到问题。
我正在使用 find_element_by_xpath,提供正确的路径(我在浏览器上尝试过,它返回 1 of 1)。
driver = webdriver.Chrome()
driver.get('page_url')
driver.find_element_by_xpath(//button[@class="aoc-end md-button md-ink-ripple"])
这里是html:
<div class="_md md-open-menu-container md-whiteframe-z2 md-active md-clickable" id="menu_container_77" style="top: 499px; left: 866px; transform-origin: right top;" aria-hidden="false">
<md-menu-content class="agent-dropdown-menu-content new-menu-content" width="3" role="menu"><!----><md-menu-item>
<button class="aoc-end-work md-button md-ink-ripple" type="button" ng-transclude="" ng-disabled="!agent.capabilities.canSupervisorLogout" ng-click="logOutAgent(agent.userHandle)" role="menuitem">
应该找到元素,但实际结果是 selenium.common.exceptions.ElementNotVisibleException: Message: element not visible
【问题讨论】:
-
您是否手动向下或向上滚动以查看该元素?
-
该元素在打开下拉列表时可见,无需滚动查看
-
你能分享下拉的HTML代码吗?
-
我的猜测是,与该定位器匹配的元素不止一个,并且第一个可用的元素不可见。检查您的定位器并更新问题。请发布有效/完整的 HTML。您现在获得的 HTML 不完整,并且没有以易于阅读的形式格式化。
标签: python selenium selenium-webdriver pytest