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

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



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

  • 相关阅读:
    Fetch的使用
    if判断中的true和false
    分布式、微服务和集群的初步了解
    关于视频的知识点
    ajax请求
    jq的遍历关系元素方法集合
    docker安装Mysql
    设计模式系列之七大原则之——开闭原则
    设计模式系列之七大原则之——里式替换原则
    设计模式系列之七大原则之——依赖倒转原则
  • 原文地址:https://www.cnblogs.com/163yun/p/9796227.html
Copyright © 2020-2023  润新知