【发布时间】:2020-04-29 18:15:19
【问题描述】:
我正在尝试使用 Selenium 在下拉菜单中选择一个选项,但我不知道如何处理此超时异常
这是页面的html:
<select name="ctl00$ContentPlaceHolder1$ddUnidade" onchange="javascript:setTimeout('__doPostBack(\'ctl00$ContentPlaceHolder1$ddUnidade\',\'\')', 0)" id="ctl00_ContentPlaceHolder1_ddUnidade" class="form-control" style="width:100%;">
<option selected="selected" value="">-- SELECIONE --</option>
<option value="1">MATRIZ</option>
<option value="2">FILIAL</option>
</select>
首先我尝试了这段代码:
select = Select(browser.find_element_by_id('ctl00_ContentPlaceHolder1_ddUnidade'))
select.select_by_visible_text('MATRIZ')
然后我遇到了这个错误: ElementNotInteractableException:消息:元素无法滚动到视图中
我搜索并找到了 WebDriverWait 解决方案。所以,我尝试了这段代码:
select = Select(browser.find_element_by_id('ctl00_ContentPlaceHolder1_ddUnidade'))
WebDriverWait(browser, 10).until(EC.element_to_be_clickable((By.XPATH, "//select[@id='ctl00_ContentPlaceHolder1_ddUnidade']//options[contains(.,'MATRIZ')]")))
select.select_by_visible_text('MATRIZ')
然后我有这个: 超时异常:消息:
我再次用谷歌搜索,EC.presence_of_element_located 有另一个解决方案,但它也不起作用。我有相同的 TimeouException 消息。 有人知道怎么解决吗?
【问题讨论】:
标签: python-3.x selenium selenium-webdriver drop-down-menu timeoutexception