selenium常见问题集锦

一.日历选中处理(readonly属性不能写的处理)

很多人问时间日期的空间怎么处理,但是时间日期控件各种各样,你可能遇到正常点的像这样: 
正常点的

当然也可能遇到难点的,像这样: 
困难的

很简单,用js把禁止输入的readonly属性干掉就好了。

js_start="document.getElementById('queryStartTime').removeAttribute('id');document.getElementById('queryStartTime').removeAttribute('readonly');"
driver.execute_script(js_start)
js_start_value="document.getElementById('queryStartTime').value='2017-11-07'"
driver.execute_script(js_start_value)
js_end="document.getElementById('queryEndTime').removeAttribute('id');document.getElementById('queryEndTime').removeAttribute('readonly');"
driver.execute_script(js_end)
js_end_value="document.getElementById('queryEndTime').value='2017-11-09'"
driver.execute_script(js_end_value)

二.下拉框处理

下拉菜单如下图:

定位代码(选择Male):

复制代码
from selenium.webdriver.support.ui import Select

# 通过index进行选择
Select(driver.find_element_by_id("gender")).select_by_index(1)
# 通过value进行选择
Select(driver.find_element_by_id("gender")).select_by_value("2")
# 通过选项文字进行选择
Select(driver.find_element_by_id("gender")).select_by_visible_text("Male")
复制代码

注:Select only works on <select> elements(Select只对<select>标签的下拉菜单有效).

2.定位非<select>标签的下拉菜单

非<select>标签的下拉菜单如下图所示:

定位非<select>标签的下拉菜单中的选项,需要两个步骤,先定位到下拉菜单,再对其中的选项进行定位。

定位代码(选择硕士):

# 先定位到下拉菜单
drop_down = driver.find_element_by_css_selector("div#select2_container > ul")
# 再对下拉菜单中的选项进行选择
drop_down.find_element_by_id("li2_input_2").click()
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值