51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

测试开发精英班,通向高级软件测试工程师【周活动】 找茬--心里圈的故事 !【长期招募】博为峰网校招聘兼职讲师!横扫BAT,Python全栈测试开发技能大全
【109期】:python爬虫的魔力 !双11剁手不吃土,来投稿赚回血红包! 【专题】用尽一切办法只为让你学好用例 自学软件测试那点事
查看: 731|回复: 14

[求助] selenium定位不到下拉框选项的问题

[复制链接]
  • TA的每日心情
    郁闷
    2019-7-29 16:20
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    发表于 2019-8-8 16:07:16 | 显示全部楼层 |阅读模式
    如题。使用xpath定位不到。求大神指教。

    driver.find_elements_by_xpath(".//body/div[2]/div[1]/div[1]/ul/li[1]")

    本帖子中包含更多资源

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

    x
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 10:20
  • 签到天数: 635 天

    连续签到: 3 天

    [LV.9]测试副司令

    发表于 2019-8-9 08:48:24 | 显示全部楼层
    How old are you(怎么老是你)?
    如果是无法点击的话就下一层试试。
    driver.find_elements_by_xpath(".//body/div[2]/div[1]/div[1]/ul/li[1]/span")
    如果是定位不到的话,是不是由于上一步打开下拉列表
    以后加时间等待试试。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2019-7-29 16:20
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

     楼主| 发表于 2019-8-9 09:39:35 | 显示全部楼层
    applepen 发表于 2019-8-9 08:48
    How old are you(怎么老是你)?
    如果是无法点击的话就下一层试试。
    driver.find_elements_by_xpath(".//b ...

    说明我工作努力啊,而且还是菜鸟,老遇到问题.哈哈

    你说的方法试过了,也不行.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2019-7-29 16:20
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

     楼主| 发表于 2019-8-9 09:44:02 | 显示全部楼层
    早上来了一看,查看量快破百了,只有一个回复,感觉无解了呢....
    我们现在的系统很多这种问题, 前端框架的决定的, 定位不到的只能靠手点了,半自动化,哈哈
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-7-12 09:26
  • 签到天数: 9 天

    连续签到: 1 天

    [LV.3]测试连长

    发表于 2019-8-9 10:02:19 | 显示全部楼层
    下拉框是不是默认隐藏的,导致定位不到
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2019-7-29 16:20
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

     楼主| 发表于 2019-8-9 10:42:30 | 显示全部楼层
    小小猎魔人 发表于 2019-8-9 10:02
    下拉框是不是默认隐藏的,导致定位不到

    是的是的.
    ele8 = driver.find_elements_by_xpath(".//body/div[2]/div[1]/div[1]/ul/li[1]/span")
    for e8 in ele8:
        if e8.is_displayed():
            e8.click()
        pass
    加了这段也是不行.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2019-7-29 16:20
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

     楼主| 发表于 2019-8-9 10:44:45 | 显示全部楼层
    Sarahhao8 发表于 2019-8-9 10:42
    是的是的.
    ele8 = driver.find_elements_by_xpath(".//body/div[2]/div[1]/div[1]/ul/li[1]/span")
    for ...

    直接pass了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 10:20
  • 签到天数: 635 天

    连续签到: 3 天

    [LV.9]测试副司令

    发表于 2019-8-9 10:45:49 | 显示全部楼层
    Sarahhao8 发表于 2019-8-9 10:42
    是的是的.
    ele8 = driver.find_elements_by_xpath(".//body/div[2]/div[1]/div[1]/ul/li[1]/span")
    for ...

    is_displayed() 即便隐藏也会当作true。
    替换成is_enabled():试试。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2019-7-29 16:20
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

     楼主| 发表于 2019-8-9 10:51:46 | 显示全部楼层
    applepen 发表于 2019-8-9 10:45
    is_displayed() 即便隐藏也会当作true。
    替换成is_enabled():试试。

    也不行,pass了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 10:20
  • 签到天数: 635 天

    连续签到: 3 天

    [LV.9]测试副司令

    发表于 2019-8-9 16:36:24 | 显示全部楼层

    换个套路。
    用Actions来把动作串起来试试
    moveTo(webElement).click().perform();
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2019-7-29 16:20
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

     楼主| 发表于 2019-8-9 16:59:48 | 显示全部楼层
    applepen 发表于 2019-8-9 16:36
    换个套路。
    用Actions来把动作串起来试试
    moveTo(webElement).click().perform();

    也不行.AttributeError: move_to requires a WebElement
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 10:20
  • 签到天数: 635 天

    连续签到: 3 天

    [LV.9]测试副司令

    发表于 2019-8-9 17:26:22 | 显示全部楼层
    Sarahhao8 发表于 2019-8-9 16:59
    也不行.AttributeError: move_to requires a WebElement

    对啊。你需要给WebElement
    WebElement ele = driver.find_elements_by_xpath(.....);
    moveTo(ele).click().perform();
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2019-7-29 16:20
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

     楼主| 发表于 2019-8-12 10:40:18 | 显示全部楼层
    本帖最后由 Sarahhao8 于 2019-8-12 14:21 编辑
    applepen 发表于 2019-8-9 17:26
    对啊。你需要给WebElement
    WebElement ele = driver.find_elements_by_xpath(.....);
    moveTo(ele).clic ...
    语法错误

    本帖子中包含更多资源

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

    x
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 10:20
  • 签到天数: 635 天

    连续签到: 3 天

    [LV.9]测试副司令

    发表于 2019-9-2 15:26:25 | 显示全部楼层

    target = driver.find_element_by_xpath(".//body/div[2]/div[1]/div[1]/ul/li[1]/span")
    driver.execute_script("arguments[0].scrollIntoView();",target)

    试试这个看看好用不?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 10:20
  • 签到天数: 635 天

    连续签到: 3 天

    [LV.9]测试副司令

    发表于 2019-9-2 15:26:43 | 显示全部楼层
    target = driver.find_element_by_xpath(".//body/div[2]/div[1]/div[1]/ul/li[1]/span")
    driver.execute_script("arguments[0].scrollIntoView();",target)

    试试这个看看好用不?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2019-12-12 01:53 , Processed in 0.073271 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2019 Comsenz Inc.

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