我有一个id为“drp\u autogen0”的下拉列表。我想单击下拉列表,查看下拉选项。当我尝试用Python和Selenium单击它时,会出现以下错误:Selenium.common.exceptions.elementnotinteractiableexception:Message:element not interactiable 我已经附加了什么样的下拉列表看起来打印屏幕。我希望能够从列表中选择“上个月”,但我还没有做到这一点,因为下拉列表没有被点击。 https://snipboard.io/xDM1Un.jpg
下拉单击的代码如下:
html_list = driver.find_element_by_id("drp_autogen0")
html_list.click()
下拉按钮的web代码为:
<button type="button" class="comiseo-daterangepicker-triggerbutton ui-button ui-corner-all ui-widget comiseo-daterangepicker-bottom" id="drp_autogen0">22 Nov 2019<span class="ui-button-icon-space"> </span><span class="ui-button-icon ui-icon ui-icon-triangle-1-s"></span></button>
上个月的网页代码是:
<div id="ui-id-5" tabindex="-1" role="menuitem" class="ui-menu-item-wrapper">Last month</div>
如果您收到
ElementNotInteractable
错误消息,可以尝试使用Javascript解决此问题,单击:此代码示例调用所需元素的
WebDriverWait
,以确保在单击它们之前已将它们完全加载到页面上然后,我们使用Javascript单击第一个
button
元素,以解决ElementNotInteractable
异常。一旦下拉列表展开,我们将等待Last Month
选项存在,然后再尝试单击它即使看起来按钮/下拉选项立即出现在页面上,Selenium/Python也会在DOM中快速移动,因此
driver
可能试图单击一些尚不存在的东西。WebDriverWait
语句只是在尝试单击之前确保元素存在于页面上请检查DOM在运行时是否没有更改如果没有,则有两种方法可以解决此异常:
1.隐式等待
2.WebDriver等待:
相关问题 更多 >
编程相关推荐