如何使用Python和Selenium点击页面上的多个下拉列表
How can I click on multiple drop down list on a page with Python and 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元素列表。
但是,即使使用find_element_by_class_name()
,也会得到不同的错误,因为这是与类名匹配的div
元素,而不是select
元素。
您需要传递给具有select
标记名的Select
类web元素的构造函数:https://selenium.googlecode.com/git/docs/api/py/webdriver_support/selenium.webdriver.support.select.html
建造师。检查给定元素是否确实是SELECT标记。如果不是,则UnexpectedTagNameException为抛出。
相关文章:
- 如何使用jQuery选择下拉列表的值
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- Javascript按钮下拉列表
- jQuery表单添加不适用于下拉列表
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 禁用jQuery中的下拉列表
- 如何在按钮中显示下拉列表中选定的元素
- 如何在从多选下拉列表中选择选项值时动态生成文本框
- 如何使用PHP和JS级联三个下拉列表
- 如何在使用剑道 MVVM 下拉列表时强制选择第一项
- 语义ui如何使用javascript启用或禁用下拉列表
- 无法使用PHP动态设置下拉列表中的值
- 如何根据对具有多行的先前列表的选择来动态加载下拉列表
- 下拉列表在使用z索引放置在前面后停止工作
- 从多维嵌套json数组创建下拉列表
- 如何在剑道下拉列表中按文本和值搜索
- 使用下拉列表筛选列表(ul>li)
- 如何使用jquery从下拉列表(javascript)中选择192.168.3.0进行测试自动化
- 如何使用Python/Selenium网络驱动程序处理Angularjs/Javascript下拉列表
- 如何使用Python和Selenium点击页面上的多个下拉列表