javascript - 无法使用 watir webdriver 填充 iframe 中的只读文本框

标签 javascript iframe selenium-webdriver watir watir-webdriver

我在 iframe 中有一个要填充的只读文本字段。请找到下面的导航。

  1. 网址为“http://www.broadwaylofts.com/apartments/unitLevel.do?lid=en_US&pid=3015&uid=1866117&msud=Q%20&adAction=initial

  2. 点击“每月价格”按钮。

  3. 您将能够在叠加层上看到一个文本框。

我正在尝试填充该文本框,但无法

以下是我尝试过的方法:

  1. b.iframe(:class => "lb_iframe_pricegrid").execute_script("window.document.getElementById('actionForm_moveindate').value = '03/20/2015';")

它抛出以下错误

Selenium::WebDriver::Error::JavascriptError: window.document.getElementById(...) is null
  • b.execute_script("window.document.getElementById('actionForm_moveindate').value = '03/20/2015';")

  • 它抛出以下错误

    Selenium::WebDriver::Error::JavascriptError: window.document.getElementById(...) is null
    
  • b.iframe(:class => "lb_iframe_pricegrid").text_field.set "02/20/2015"

  • 下面是我遇到的错误

    Watir::Exception::ObjectReadOnlyException: object is read only {:tag_name=>"input or textarea", :type=>"(any text type)"}
        from /Library/Ruby/Gems/2.0.0/gems/watir-webdriver-0.6.10/lib/watir-webdriver/elements/element.rb:553:in `assert_writable'
        from /Library/Ruby/Gems/2.0.0/gems/watir-webdriver-0.6.10/lib/watir-webdriver/user_editable.rb:12:in `set'
        from (irb):19
        from /usr/bin/irb:12:in `<main>'
    

    有什么想法或建议可以让它发挥作用吗?

    最佳答案

    您的代码应如下所示:

    b.execute_script("window.frames[0].document.getElementById('actionForm_moveindate').value = '03/20/2015';")
    

    关于javascript - 无法使用 watir webdriver 填充 iframe 中的只读文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28144152/

    相关文章:

    javascript - 如何使用复选框在谷歌可视化表中保持复选框状态

    java - 如何确定 WebElement 是否存在于 Selenium 中?

    java - 在同一个 Selenium 网格节点上运行 PhantomJS 和 Chrome 浏览器

    javascript - 用键滑动值,-> Javascript 中的映射与对象

    javascript - 使用 javascript 打印 PDF

    javascript - 单击按钮时的 iFrame

    javascript - 在 iframe 中使用 iScroll

    HTML5 iFrame 无缝属性

    java - 测试时隐藏 selenium webdriver 中的网页

    java - 在上传到服务器之前检查文件内容