我的代码使用selenium从下拉菜单中选择选项。我有一个看起来像这样的代码:
from selenium import webdriver
browser = webdriver.Firefox()
browser.get("http://www.website.com")
browser.find_element_by_xpath("//select[@id='idname']/option[text()='option1']").click()
这样很好。但是下拉菜单中有很多选项,我希望遍历下拉菜单中的所有项目。我准备了以下代码来遍历选项:
options = ["option1", "option2"]
for opts in options:
browser.find_element_by_xpath("//select[@id='idname']/option[text()=opts]").click()
这是行不通的。关于如何使这样的循环工作的任何建议?我不了解python中的循环吗?
谢谢。
这应该为您工作。该代码将
像这样:
from selenium import webdriver
from selenium.webdriver.support.ui import Select, WebDriverWait
browser = webdriver.Firefox()
browser.get("http://www.website.com")
select = browser.find_element_by_xpath( "//select[@id='idname']") #get the select element
options = select.find_elements_by_tag_name("option") #get all the options into a list
optionsList = []
for option in options: #iterate over the options, place attribute value in list
optionsList.append(option.get_attribute("value"))
for optionValue in optionsList:
print "starting loop on option %s" % optionValue
select = Select(browser.find_element_by_xpath( "//select[@id='idname']"))
select.select_by_value(optionValue)
根据前面关于SO的问题,比如这个问题(selenium-python-drol-down menu选项值),我首先尝试了使用Selenium进行下拉菜单操作的基本方法,即以以下方式使用其方法: 当选择“按值”时,我得到一个错误。因此,我尝试使用So上提供的其他解决方案进行一些故障排除(参见此处:使用selenium python从下拉选项中选择一个值),例如通过元素的XPath找到它,然后单击它。
我想从下面的列表中选择一个使用selenium的选项: 这里 但问题是没有列表可供选择。 在此输入图像说明 我到目前为止的代码: 需要帮助!!
选择菜单摒弃了原生的select 元素的样式,原生的select元素被隐藏,并被一个由jquery mobile框架自定义样式的按钮和菜单替代。菜单是ARIA的(即Accessible Rich Internet Applications)并且桌面电脑的键盘也是可访问的。 当被点击时,手机自带的原生的菜单选择器会打开。菜单内某个值被选中后,自定义的选择按钮的值更新为你选择的那一个。 要添加这样的选
我已经看了关于这个主题的文档和一些例子,但我似乎找到了为什么程序不能工作的原因。
你好,我正在使用selenium,并且已经成功地设置了id历史的文本字段,但是无法从
我是使用selenium ide的新手。 我已经让我的代码的所有其他部分工作。 但是我目前有一个问题,让它在下拉菜单中选择一个选项。 我为下拉列表和