• 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+款云产品!

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



    相关文章:
    【推荐】 浅谈由管理者角色引出的B端产品设计思考点
    【推荐】 用双十一的故事串起碎片的网络协议(上)

  • 相关阅读:
    Trying to reload asset from disk that is not stored on disk
    学习,再学习!
    关于webQQ3.0
    java 之 枚举
    部队的日子
    大兵
    关于webQQ3
    Ubuntu下gedit的java编译设置
    晒晒
    chrome中行网银插件(Linux下可用,可以淘宝支付宝)
  • 原文地址:https://www.cnblogs.com/zyfd/p/9796228.html
Copyright © 2020-2023  润新知