我正在尝试使用selenium编写一个python脚本,该脚本应该在下拉列表中选择一个值。它工作得很完美! 现在我试图选择两个下拉列表,并且两个下拉列表都具有相同的class_name。我已设法编写脚本但其抛出错误。
driver.get("url")
select = Select(driver.find_elements_by_class_name("rs_select"))
print select
for nos in len(select):
for i in nos:
x = [o.text for o in i.options]
i.select_by_visible_text(str(len(x)-1))
elem = driver.find_element_by_id("continue")
elem.send_keys(Keys.RETURN)
我试图从下拉列表中选择可用的最大值(它将是最后一个值)。 我不知道我的代码是否正确,请帮忙。这是我得到的错误。
Traceback (most recent call last):
select = Select(driver.find_elements_by_class_name("rs_select"))
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'
答案 0 :(得分:0)
我认为这就是你要找的东西。您希望获取SELECT
中的所有list
并迭代它们。对于每个SELECT
,请使用select_by_index
按索引而不是可见文本选择最后一个选项。
driver.get("url")
selects = Select(driver.find_elements_by_class_name("rs_select"))
print selects
for select in selects:
select.select_by_index(len(selects.options))
// you may need a slight pause here to let the select magic happen
elem = driver.find_element_by_id("continue")
elem.send_keys(Keys.RETURN)