首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何从下拉列表中选择元素

如何从下拉列表中选择元素
EN

Stack Overflow用户
提问于 2012-05-31 19:05:46
回答 2查看 170关注 0票数 0

好吧,这听起来太普通了。我已经能够在其他领域做到这一点,但我不确定这里有什么不同。

在我测试的系统页面中有一小段html:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<select id="TransferUnit" name="TransferUnit">
<option value="GB" selected="selected">GB</option>
<option value="TB">TB</option>
</select>

很简单,对吧。在selenium中,我可以通过在select元素上发出.click()来打开下拉列表。我可以使用.is_displayed()检查这两个选项是否可见。我可以用.is_selected()检查它是否被选中。但是我不能让.click()更改列表中选择的元素。

当然,当我手动尝试时,这是可行的。但我在自动化方面遇到了很多麻烦。

欢迎任何帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-31 20:24:11

在IDE中,单击具有如下定位器的元素:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
xpath="//option[@value='TB']"
票数 1
EN

Stack Overflow用户

发布于 2012-06-01 00:17:34

根据this doc的说法,您可以执行以下操作之一:

任一

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// even when the drop down is not expanded
driver.find_element_by_xpath("//option[@value='TB']").click();

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select = Select(driver.find_element_by_tag_name("select"))
select.deselect_all()
select.select_by_visible_text("TB")

The Python doc for Select.

如果两者都不起作用,那么更新您的Selenium版本(当前版本是2.22.0)和您的浏览器,如果可能的话-例如,完全支持的Firefoxes是3.6.*,10,11,12。

如果仍然没有效果,那就看看讨厌的Javascripts会毁了我们的努力吧。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10839717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文