【问题标题】:Ruby Selenium 2.0 cannot get value of input tagRuby Selenium 2.0 无法获取输入标签的值
【发布时间】:2012-03-17 10:59:51
【问题描述】:

无法使用 Selenium 2.0 webdriver 和 Ruby 获取输入标记值。

@driver.find_element(:id, "customer_info_last_name").text 不返回任何内容

@driver.find_element(:id, "customer_info_last_name").value 产生未知方法错误

检索输入标签值的正确方法是什么?

【问题讨论】:

  • 你使用的是哪个 Ruby 版本?

标签: ruby selenium


【解决方案1】:

这个怎么样?

@driver.find_element(:id, "customer_info_last_name").attribute('value')  

【讨论】:

    【解决方案2】:

    您需要使用 driver.execute_script 来获取输入,而不是文本或值。 可以试试下面的方法吗

    <input name="cheese" type="text"/>
    cheese = driver.find_element(:name, "cheese")
    element = driver.execute_script("return $('.cheese')[0]")
    

    如果您收到任何错误消息,请联系我

    【讨论】:

    • 输入标签有值。但是当我使用: cheese = @driver.find_element(:name, "customer_info[last_name]") element = @driver.execute_script("return $('.cheese')[0]") print(element) 它打印 NIL我应该升级到 Ruby 1.9.7 吗?
    • 在文档上,他们说 Ruby 1.8.7 很好,你可以试试 Ruby 1.9。 2?我正在尝试使用 1.8.7,对我来说使用 1.9.2 它工作正常
    • 非常感谢,但我忘了说这是一个 Jquery 网站

      所以我得到了它:

      @driver.execute_script("return $('#customer_info_last_name').val()")
    • 几乎所有工作都使用 execute_script 完成,我很高兴它有所帮助。
    【解决方案3】:

    这也应该有效@driver.find_element(:id, "customer_info_last_name")['value']

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-04
      • 1970-01-01
      相关资源
      最近更新 更多