我想使用Chrome webdriver在以下网站中选择“TIPOPARTICIPANTE”下拉列表的第二个元素:
https://www.rad.cvm.gov.br/ENET/frmConsultaExternaCVM.aspx
我可以通过以下方式选择下拉列表:
from selenium import webdriver
driver = webdriver.Chrome('D:\\chromeDriver\\chromedriver.exe') # caminho onde o chromedriver.exe está
driver.get('https://www.rad.cvm.gov.br/ENET/frmConsultaExternaCVM.aspx')
dropdown_list = driver.find_element_by_css_selector('#s2id_cboTipoParticipante')
dropdown_list.click()
option = driver.find_element_by_css_selector('li:nth-child(2)')
option.click() # este comando gerou um erro 'ElementClickInterceptException'
但是,在脚本的最后一行中,我得到了以下错误:
Traceback (most recent call last): File "", line 5, in option2.click() File "C:\Users\Raphael\Anaconda3\lib\site-packages\selenium\webdriver\remote\webelement.py", line 80, in click self._execute(Command.CLICK_ELEMENT) File "C:\Users\Raphael\Anaconda3\lib\site-packages\selenium\webdriver\remote\webelement.py", line 633, in _execute return self._parent.execute(command, params) File "C:\Users\Raphael\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute self.error_handler.check_response(response) File "C:\Users\Raphael\Anaconda3\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) ElementClickInterceptedException: element click intercepted: Element li class="select2-search-field".../li is not clickable at point (819, 118). Other element would receive the click: div id="select2-drop-mask" class="select2-drop-mask" style=""/div (Session info: chrome=90.0.4430.93)
有人能帮我选择这个下拉列表的第二个元素(“Companias Abertas”)吗
1在代码中使用显式等待: 对于此导入:
2等待加载器消失。对于此用途:
invisibility_of_element_located
方法3第二个选项的定位器是
#select2-drop li:nth-child(3) div
,而不是li:nth-child(2)
。有六个元素具有您指定的定位器定位器说明:
#select2-drop
-id为的父类select2-drop
li:nth-child(3) div
第三个孩子,因为第一个是nth-child(3)
。你需要一个李的孩子结果: 下拉选择
尝试这样定义
option
:option=driver.find_elements_by_css_selector('span.select2 match')[2]
相关问题 更多 >
编程相关推荐