使用jQuery和使用Python的SeleniumWebDriver从隐藏的下拉框中选择选项
我想从隐藏的下拉框中选择选项,但无法执行此操作 我想自动化的网站是。在该页面中,我想自动执行“手动驱动程序搜索”。我试图通过使用下面的代码从第一个下拉框中选择选项,但我无法做到这一点使用jQuery和使用Python的SeleniumWebDriver从隐藏的下拉框中选择选项,jquery,python,selenium-webdriver,Jquery,Python,Selenium Webdriver,我想从隐藏的下拉框中选择选项,但无法执行此操作 我想自动化的网站是。在该页面中,我想自动执行“手动驱动程序搜索”。我试图通过使用下面的代码从第一个下拉框中选择选项,但我无法做到这一点 driver.execute_script('document.getElementBYID('manualsearch-0').style='display.block'); select=Select(driver.find_element_by_id('manualSearch-0) for o in sel
driver.execute_script('document.getElementBYID('manualsearch-0').style='display.block');
select=Select(driver.find_element_by_id('manualSearch-0)
for o in select.options:
select.select_by_visible_text(o.text)
实际上,这些隐藏的下拉列表对您没有用处
nvFrame selectBox下拉列表
class将为您提供可供手动搜索的下拉列表
当您单击任何下拉菜单时,通过classselectBox下拉菜单
,可以看到下拉选项html。您可以在控制台中检查HTML的底部。
由于这些选项
位于ul
和li
标签中,因此您不能使用Select
方法
现在我们需要从所有结果中找到可见的ul
。
在本例中,我使用了第四个下拉列表,并从底部选择了第三个选项
driver.find_elements_by_css_selector(".nvFrame-selectBox-dropdown")[3].click()
time.sleep(2)
uls = driver.find_elements_by_css_selector(".selectBox-dropdown-menu")
for ul in uls:
if ul.is_displayed():
visible_ul = ul
break
print visible_ul.text
visible_ul.find_elements_by_css_selector("li")[-3].click()
当您选择“人眼可见”选项时,这将非常有效。在某些情况下,您可能需要滚动下拉列表。仅供参考,您将
“
作为字符串的外部和内部。您需要使用“
内部或相反方向。您还缺少一些右括号和撇号。但我无法使用thisHI Dhiraj选择选项,我试图从第一个下拉框中选择选项。我最多可以选择2个选项,在这之后,我得到了一些错误,比如缓存中找不到元素,可能是页面在查找后发生了更改。您能为我提供解决方案吗?