zoukankan      html  css  js  c++  java
  • 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端产品设计思考点
    【推荐】 用双十一的故事串起碎片的网络协议(上)

  • 相关阅读:
    读书计划(2020年秋)
    Hbase 常用Shell命令
    假期第三周总结
    语义分析
    虚拟机安装
    掌握需求过程读后感
    第八周总结
    SLR1分析
    第七周总结
    需求工程阅读笔记(三)
  • 原文地址:https://www.cnblogs.com/zyfd/p/9796228.html
Copyright © 2011-2022 走看看