51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2093|回复: 12
打印 上一主题 下一主题

找不到select元素

[复制链接]
  • TA的每日心情

    2017-5-5 15:56
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]测试营长

    跳转到指定楼层
    1#
    发表于 2016-6-23 17:13:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    页面代码大概如下
    <div class="col-xs-12 col-sm-8">
    <select id="sel-car" class="chosen-select col-xs-12 col-sm-6 selecloption" data-placeholder="请选择车型" name="product_id" style="display: none;">
    <option value="1">请选择车型</option>
    <option value="610301">MAZDA6 ATENZA 阿特兹</option>
    </select>
    <div id="sel_car_chosen" class="chosen-container chosen-container-single chosen-container-single-nosearch chosen-container-active" style="width: 381px;" title="">
    <a class="chosen-single chosen-default" tabindex="-1">
    <span>请选择车型</span>
    <div>
    <b/>
    </div>
    </a>

    用 Select select=new Select(driver.findElement(By.id("sel-car")));
                    select.selectByValue("610301");
    来查找提示Element is not currently visible and so may not be interacted with
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-12-24 13:41
  • 签到天数: 314 天

    连续签到: 1 天

    [LV.8]测试军长

    3#
    发表于 2016-6-23 22:38:44 | 只看该作者
    你用xpath定位,试试
    WebElement element=driver.findElement(By.xpath("xpath表达式"));---id="sel-car" 的xpath路径
    element.findElement(By.xpath("xpath表达式")).click();---value="610301"的xpath路径
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2016-6-24 00:41:36 | 只看该作者

    WebElement sourceCategory = chrome.findElement( By.id("selSourceCategory")); //获取来源下拉框
    sourceCategory.findElements(By.tagName("option")).get(1).click();   //选择option
    分享一下selenium基础学习博客:http://blog.csdn.net/lily_xl
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2016-6-2 09:34
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]测试排长

    5#
    发表于 2016-6-24 09:21:50 | 只看该作者
    选择select的option有以下三种方法

    selectByIndex(int index) 通过index
    selectByVisibleText(String text) 通过匹配到的可见字符
    selectByValue(String value) 通过匹配到标签里的value

    WebElement selector = driver.findElement(By.id("Selector"));
            Select select = new Select(selector);
            select.selectByIndex(3);
            select.selectByVisibleText("桃子");
            select.selectByValue("apple");

    评分

    参与人数 1测试积点 +10 收起 理由
    lsekfe + 10 积极回复获得测试积点10

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2017-5-5 15:56
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]测试营长

    6#
     楼主| 发表于 2016-6-27 10:52:32 | 只看该作者
    掉渣饼 发表于 2016-6-23 22:38
    你用xpath定位,试试
    WebElement element=driver.findElement(By.xpath("xpath表达式"));---id="sel-car" ...

    试了一下还是不行
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2017-5-5 15:56
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]测试营长

    7#
     楼主| 发表于 2016-6-27 10:55:23 | 只看该作者
    oukangjun 发表于 2016-6-24 00:41
    WebElement sourceCategory = chrome.findElement( By.id("selSourceCategory")); //获取来源下拉框
    sou ...

    WebElement sourceCategory = driver.findElement( By.id("sel-car"));
                    sourceCategory.findElements(By.tagName("option")).get(1).click();

    还是报错 我下面的帖子有页面的图片
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2017-5-5 15:56
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]测试营长

    8#
     楼主| 发表于 2016-6-27 10:55:53 | 只看该作者
    页面图片截图

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-12-24 13:41
  • 签到天数: 314 天

    连续签到: 1 天

    [LV.8]测试军长

    9#
    发表于 2016-6-27 12:53:19 | 只看该作者
    chuodl 发表于 2016-6-27 10:52
    试了一下还是不行

    把报错信息发下吧,发完整些
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2017-5-5 15:56
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]测试营长

    10#
     楼主| 发表于 2016-6-27 16:52:17 | 只看该作者
    掉渣饼 发表于 2016-6-27 12:53
    把报错信息发下吧,发完整些

    Caused by: org.openqa.selenium.ElementNotVisibleException: Element is not currently visible and so may not be interacted with
    Build info: version: '2.45.0', revision: '5017cb8', time: '2015-02-26 23:59:50'
    System info: host: 'USER-20160219JF', ip: '192.168.15.92', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_04'
    Driver info: driver.version: unknown
            at <anonymous class>.fxdriver.preconditions.visible(file:///C:/Users/ADMINI~1/AppData/Local/Temp/anonymous6681953886405693411webdriver-profile/extensions/fxdriver@googlecode.com/components/command-processor.js:9587)
            at <anonymous class>.DelayedCommand.prototype.checkPreconditions_(file:///C:/Users/ADMINI~1/AppData/Local/Temp/anonymous6681953886405693411webdriver-profile/extensions/fxdriver@googlecode.com/components/command-processor.js:12257)
            at <anonymous class>.DelayedCommand.prototype.executeInternal_/h(file:///C:/Users/ADMINI~1/AppData/Local/Temp/anonymous6681953886405693411webdriver-profile/extensions/fxdriver@googlecode.com/components/command-processor.js:12274)
            at <anonymous class>.DelayedCommand.prototype.executeInternal_(file:///C:/Users/ADMINI~1/AppData/Local/Temp/anonymous6681953886405693411webdriver-profile/extensions/fxdriver@googlecode.com/components/command-processor.js:12279)
            at <anonymous class>.DelayedCommand.prototype.execute/<(file:///C:/Users/ADMINI~1/AppData/Local/Temp/anonymous6681953886405693411webdriver-profile/extensions/fxdriver@googlecode.com/components/command-processor.js:12221)


    用的写法是

    WebElement element = driver.findElement( By.xpath(".//select[@id='sel-car']"));
                    element.findElements(By.tagName("option")).get(1).click();
    多谢了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2016-6-28 15:30:57 | 只看该作者
    我怎看你的截图,请选择车型是个span?不是select啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2016-6-28 15:42:39 | 只看该作者
    不好意思我看错地方了,报错不是nosuchelement证明是找到了,只是不可见或不可操作,是不是你们页面有什么异步的操作?页面加载完了这个droplist还是不能操作的,要等什么动作之后才可以点击选择?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2016-8-24 17:09:08 来自手机 | 只看该作者
    display:none,这个样式让select不显示,所以报元素不可见
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-14 13:50 , Processed in 0.073721 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表