【问题标题】:How to locate element using any locator method in selenium webdriver with Ruby如何在带有 Ruby 的 selenium webdriver 中使用任何定位器方法定位元素
【发布时间】:2019-03-08 01:35:43
【问题描述】:

这是我的代码,但无法使用 Ruby 中的 selenium webdriver 中的任何定位器方法定位元素

<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
    <tbody><tr>
        <td width="43%" class="titles">User Id</td>
        <td width="57%"><input type="text" name="userId" size="12" value=""></td>
    </tr>
    <tr>
        <td class="titles">Password</td>
        <td><input type="password" name="password" size="12" value=""></td>
    </tr>
    <tr>
        <td></td>
        <td align="center" size="12"><input type="submit" value="Login"></td>
    </tr></tbody>
</table>

我已经尝试使用这个 ruby​​ 代码来定位元素,但它不起作用

driver.find_element(:xpath,"//input[@name='userId']").send_keys("value")
driver.find_element(:xpath,"//input[@name='password']").send_keys("value")

也试过了

driver.find_element(:name,"userId").send_keys("value")
driver.find_element(:name,password").send_keys("value")

【问题讨论】:

  • 请展示您的 selenium webdriver ruby​​ 代码示例以及您可能收到的任何错误。
  • 没有这样的元素:无法找到元素:{"method":"xpath","selector":"//input[@name='userId']"} (Selenium::WebDriver: :Error::NoSuchElementError) (会话信息: chrome=72.0.3626.121) (驱动程序信息: chromedriver=2.46.628402 (536cd7adbad73a3783fdc2cab92ab2ba7ec361e1),platform=Windows NT 6.1.7601 SP1 x86_64)

标签: ruby


【解决方案1】:

在编码之前包含隐式等待。编写如下代码

 driver.manage.timeouts.implicit_wait=20
 driver.find_element(:name,"userId").send_keys("username")
 driver.find_element(:name,"password").send_keys("password")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-30
    • 1970-01-01
    • 2019-08-31
    • 2016-04-15
    • 1970-01-01
    • 1970-01-01
    • 2012-11-22
    • 1970-01-01
    相关资源
    最近更新 更多