51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4546|回复: 4
打印 上一主题 下一主题

[求助] Python selenium,无法定位页面中的日期选择框,尝试用JS关掉只读失败?

[复制链接]
  • TA的每日心情
    擦汗
    昨天 09:09
  • 签到天数: 526 天

    连续签到: 3 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2019-2-12 09:14:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1测试积点
    0、这是需要定位的位置:
    1. <input class="form-control listDate startDate" readonly="readonly" name="startDate" value="" type="text">
    复制代码
    1、Python selenium,无法定位页面中的日期选择框,面向百度编程后发现可能是句柄的位置不对,于是加上了
    1. el_iframe=el_ywjg=browser.find_element_by_id('frame_content')
    2. browser.switch_to.frame('frame_content')
    复制代码
    2、仍然定位不到日期选择框,继续搜索后觉得可能是因为“readonly”属性,于是决定使用js去掉,但是这个框没有Id,于是换用getElementsByName(半路出家,完全不懂js,不知道对不对),于是变成了
    1. js="document.getElementsByName('startDate').removeAttribute('readonly')"
    2. browser.execute_script(js)
    复制代码
    _报错:TypeError: document.getElementsByName(...).removeAttribute is not a function
    3、查菜鸟教程发现“HTML DOM Document 对象方法”中,document.getElementById()返回的是一个对象,而我用的getElementsByName()返回的是一个对象集合,所以加上了一个[0],变成:
    1. js="document.getElementsByName('startDate')[0].removeAttribute('readonly')"
    2. browser.execute_script(js)
    3. ```__
    4. _TypeError: document.getElementsByName(...)[0] is undefined
    复制代码
    无计可施了,而且这个问题去搜索都搜不出来了……请各位前辈指教。_

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 07:24
  • 签到天数: 2811 天

    连续签到: 4 天

    [LV.Master]测试大本营

    2#
    发表于 2019-2-13 12:45:42 | 只看该作者
    xpath方法为什么不用
    回复

    使用道具 举报

  • TA的每日心情
    开心
    7 天前
  • 签到天数: 473 天

    连续签到: 2 天

    [LV.9]测试副司令

    3#
    发表于 2019-2-13 15:34:45 | 只看该作者
    工具本身的问题,没那么好用,试试别的工具
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 08:44
  • 签到天数: 1800 天

    连续签到: 4 天

    [LV.Master]测试大本营

    4#
    发表于 2019-2-13 16:28:00 | 只看该作者

    for js in document.getElementsByName('startDate'):
    js.removeAttribute('readonly')

    看看能否使用

    另外,readonly属性不妨碍selenium读取dom
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2020-3-26 10:03
  • 签到天数: 92 天

    连续签到: 1 天

    [LV.6]测试旅长

    5#
    发表于 2019-2-14 10:55:19 | 只看该作者
    试一下xpath方法,应该可行
    回复

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-15 06:00 , Processed in 0.065892 second(s), 21 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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