1 个回答
查看原图代码,根本不是selenium这种方式能实现,换一种思路
1,解决方法,使用elements的方法获取到,li的所有列,通过for判断元素实现点击。
ele=self.driver.find_elements(By.XPATH,'//div/ul[@class="ant-select-dropdown-menu ant-select-dropdown-menu-vertical ant-select-dropdown-menu-root"]/li')
for i in ele:
print(i.text)
if '工商事项类' ==i.text:
i.click()
2,直接查找指定元素点击,加个显示等待,要不然元素没加载出出来报错,这样保险,不加等待也可以。
ele=(By.XPATH,'//div/ul[@class="ant-select-dropdown-menu ant-select-dropdown-menu-vertical ant-select-dropdown-menu-root"]/li[text()="工商事项类"]')
WebDriverWait(self.driver,10,1.5).until(EC.visibility_of_element_located(ele))
self.driver.find_element(By.XPATH,'//div/ul[@class="ant-select-dropdown-menu ant-select-dropdown-menu-vertical ant-select-dropdown-menu-root"]/li[text()="工商事项类"]').click()
write_loging('流程分类选择成功')