• selenium下拉框踩坑埋坑


    本文来自网易云社区

    作者:王利蓉


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

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

    <html>
        <head>
            <title>Select</title>
        </head>
        <body>
            <span>select demo</span>
            <select id = "s" name = "ns">
                <option value = "0">Op1</option>
                <option value = "1">Op2</option>
                <option value = "2">Op3</option>
                <option value = "3">Op4</option>
            </select>
        </body>
    </html>

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

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

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

    这种该如何解决呢?开始的时候想采用第一种方法,隐藏的那个元素直接赋值,如红框所示,想想也是不可能的,于是就网上找解决方法,如何将隐藏的元素显示出来,果真还真被找到了,通过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+款云产品!

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



    相关文章:
    【推荐】 如何有效的杜绝“羊毛党“的薅羊毛行为?

  • 相关阅读:
    oracle之bitmap索引
    oracle命令集
    Spring入门注解版
    spring入门一
    bootstrap栅格系统
    Struts2之基于配置的字段校验
    Struts2之文件上传下载
    Struts2之类范围拦截器和方法拦截器
    struts2之输入验证
    C++虚函数和纯虚函数的区别
  • 原文地址:https://www.cnblogs.com/163yun/p/9796227.html
Copyright © 2020-2023  润新知