javascript - 如何使用 Python 和 Selenium 单击页面上的多个下拉列表?

标签 javascript python selenium

我试图点击页面上的多个下拉列表,但我一直收到错误消息,提示我的列表对象没有属性 tag_name'。

我的代码

def click_follow_buttons(driver):
    selects = Select(driver.find_elements_by_class_name("jBa"))#jBa
    print selects
    for select in selects:
        select.select_by_index(0)
        driver.find_element_by_class_name("bA").click()

我的回溯

Traceback (most recent call last):
  File "google_follow.py", line 50, in <module>
    if click_follow_buttons(driver) == False:
  File "google_follow.py", line 18, in click_follow_buttons
    selects = Select(driver.find_elements_by_class_name("jBa"))#jBa
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/support/select.py", line 35, in __init__
    if webelement.tag_name.lower() != "select":
AttributeError: 'list' object has no attribute 'tag_name'

Html 下拉菜单

<div class="jBa XG">
<div class="ny dl d-k-l" jslog="7128; track:impression">

最佳答案

首先,您使用的是 find_elements_by_class_name() 方法,它会返回一个 web 元素列表匹配类名而不是单个元素。 p>

但是,即使您使用 find_element_by_class_name() 代替,您也会得到一个不同的错误,因为这是一个匹配类名的 div 元素,而不是 选择元素。

关于javascript - 如何使用 Python 和 Selenium 单击页面上的多个下拉列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34273859/

相关文章:

javascript - Handsontable 显示所有列,虚拟渲染仅适用于行

javascript - JavaScript 中的转义序列不起作用?

python - Python如何确定两个集合是否相等?有什么可能的优化吗?

Python - 获取 HTML 标签之间的文本

java - 使用 Selenium 选择关系型 highchart SVG 图像

asp.net-mvc - 运行测试项目时自动启动ASP.MVC项目

javascript - Highcharts 使用 Dom 控制基本 DrillDown

python - 使用 Python 和 pyathenajdbc 连接 Athena

python - 使用反射窥探模块及其类

Javascript 正则表达式删除逗号后的所有换行符