博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
selenium下拉框踩坑埋坑
阅读量:7139 次
发布时间:2019-06-28

本文共 882 字,大约阅读时间需要 2 分钟。

本文来自网易云社区

作者:王利蓉

最近web端全站重构,所有的页面都大大小小都有些变动,UI就全军覆没了,用例从登录改,改到个人信息页面发现根以前的实现方式完全不一样,这可怎么解决

1.以前的实现(option value的对应),现在是新页面 我就找个其他网站的参考下

b26ad583-750e-4a49-af14-61d7ce4ebb7a

            Select                select demo        
            
Op1            
Op2            
Op3            
Op4            

这种通过直接给value赋值即可,网上寻找解决方法也很多,脚本实现如下:

bot.click(By.xpath("//select[@id='birth-year']/option[@value='" + year + "']"));

2.重构之后的实现,选择时元素为隐藏状态,选择过程是联动的,找不到元素 哭!!

48135863-f70b-4ac9-9355-a0a7c752afb9

860e7fdc-1d49-49ed-8fc1-c1f086257d8f?imageView&thumbnail=980x0

这种该如何解决呢?开始的时候想采用第一种方法,隐藏的那个元素直接赋值,如红框所示,想想也是不可能的,于是就网上找解决方法,如何将隐藏的元素显示出来,果真还真被找到了,通过js,显示各种隐藏的元素。

js="var p=document.getElementByClassName('Select-value');p.style.display='block';"driver.execute_script(js);bot.click(By.xpath("//div[@aria-owns='react-select-5--list'][@aria-activedescendant='"+province+"']"));

网易云,0成本体验20+款云产品!

更多网易研发、产品、运营经验分享请访问。

相关文章:

【推荐】 

转载地址:http://fcvrl.baihongyu.com/

你可能感兴趣的文章
SQL中创建用户的方法
查看>>
PHP168 6.0及以下版本login.php代码执行
查看>>
Java代理(jdk静态代理、动态代理和cglib动态代理)
查看>>
WPF生命周期
查看>>
各大Oj平台介绍
查看>>
hdu1059 dp(多重背包二进制优化)
查看>>
四象限分析法分析你是否适合做管理
查看>>
Create a database in mysql for mac
查看>>
史上最全、JavaScript基础篇
查看>>
Selenium Web 自动化 - Selenium常用API
查看>>
第13天:页面布局实例-博雅主页
查看>>
javascript基础
查看>>
jquery获取、改变元素属性值
查看>>
关闭VirtualBox虚拟机的时钟同步
查看>>
剪贴板(进程通信)
查看>>
删除链表中重复的结点
查看>>
查看你的电脑上.Net Framework版本的方法
查看>>
java编程目录
查看>>
Java读取xml
查看>>
swagger
查看>>