前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python Selenium下拉列表元素定位

Python Selenium下拉列表元素定位

作者头像
十四君
修改2019-11-26 10:16:55
1.7K0
修改2019-11-26 10:16:55
举报
文章被收录于专栏:UrlteamUrlteam

对于select>option结构的下拉列表定位总结以下两种方法:

1.定位父元素select,然后通过tag name找到所有option,得到option元素的数组,然后通过数组索引定位,最后click.

代码语言:javascript
复制
driver.find_element_by_id("test").find_elements_by_tag_name("option")[0].click();

2.用到了Select类, 实例select对象有很多方法:

代码语言:javascript
复制
  deselect_all(),全不选。

  deselect_by_index(index),不选第 index 项。或者是 index+1项,忘了index从0 还是从1 开始了。

  deselect_by_value( value),不选元素value属性为value的项,听着有点拗口,其实value值就是option标签中value的值。

  deselect_by_visible_text( text),不选标签innerHTML为text的option

  select_by_index( index),同上,选择第 index 项。这个用于 option的text和value不固定的情况

  select_by_value( value), 同上,选择。

  select_by_visible_text( text),同上,选择。

3.使用示例如下:

代码语言:javascript
复制
from selenium.webdriver.support.ui import Select

select = Select(driver.find_element_by_id("test"))
select.select_by_visible_text("Edam")

4.不仅是click可以,同样的text等方法也是通用:

代码语言:javascript
复制
title1 = driver.find_element_by_xpath('//*[@id="cateid"]').find_elements_by_tag_name("option")[1].text  #text 获取该下拉行的文本内容
driver.find_element_by_xpath('//*[@id="cateid"]').find_elements_by_tag_name("option")[1].click() #click 模拟点击
time.sleep(2)

原创文章,转载请注明: 转载自URl-team

本文链接地址: Python Selenium下拉列表元素定位

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-12-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档