【问题标题】:Methods Supporting Seleneium-Webdriver / Ruby支持 Selenium-Webdriver / Ruby 的方法
【发布时间】:2012-05-07 06:42:27
【问题描述】:

在完成Selenium-ClientWatir 之后,我开始着手处理Selenium-Webdriver / Ruby

但是,我没有获得有关方法的任何信息,并且经常卡在我的脚本中。就像在下拉菜单中设置一个选项就是其中一个例子。我无法获取网页的所有元素。

我经常收到method not found 之类的错误

任何人都可以通过提供Selenium-WebdriverRuby 的更新方法列表来帮助我。

我试图在网络和论坛上找到相关信息。这个URL 包含方法,但是它们也给出了相同的错误。

【问题讨论】:

  • 请贴出您使用的代码。
  • 以下是我尝试从下拉列表中选择选项的示例。他们都没有工作给出错误:找不到方法。我已经安装了 selenium-webdriver 2.21.2 gem; Ruby: ruby​​installer-1.8.7-p358 1. @selenium.get_select_options "css=div#idDropList_ixProject_oDropList" 2. @selenium.select("css=div#idDropList_ixProject_oDropList *:nth-child(1)","AYAH") 还有在 selenium-client 中运行良好的 highlight 方法不适用于 webdriver。 @selenium.highlight("xpath=/html/body/div[9]/div[2]")
  • webdriver 的 Rdoc 也只指向 selenium-client 方法。
  • 虽然我了解您遇到的一般问题,但如果您可以从特定代码示例中发布错误,有时更容易获得帮助。你有什么可以发的吗?我建议使用一些特定的编码问题创建一个新问题。祝你好运!
  • 查看 code.google.com/p/selenium/wiki/RubyBindings 很多与 Selenium-Client 的向后兼容性并不简单,但该页面会覆盖其中的一部分。

标签: ruby methods selenium webdriver selenium-webdriver


【解决方案1】:

我正在使用 selenium webdriver 进行 Ruby 自动化。 very good website 包含大量信息,尤其是关于将 Excel(自动化)与 Ruby 一起使用的信息。恐怕你选择了艰难的方式,因为 C# 和 Java 有很多信息,而 Ruby 需要在资源有限的情况下清理网络。堆栈溢出也有很多很好的例子,正如 Kevin 提到的那样;搜索特定错误时要容易得多。如果我是你,我会下载一个非常有用的名为 Firebug 的 Firefox 插件,它可以与 Selenium IDE 结合使用。这 2 个是非常强大的工具,可以帮助解决您遇到的大部分问题,至少在网页方面是这样。

Firebug 您可以使用它来检查网页中的任何元素(只需右键单击),然后您可以指示 webdriver 通过 id、link、css 或 xpath 找到它。当没有 id 或 css 标签时,Xpath 是最好的。或者,当我真正陷入困境时我会做什么;是启动Selenium IDE(录制和播放)并录制我想要的操作(即从下拉菜单中选择一个值)。然后我将文件导出到一个 Ruby 脚本中,仅从那里抓取我需要的代码(通常是 xpath)。

希望对您有所帮助。请发布任何仍然给您带来困难的特定错误,我们可以从那里解决。下载 Firebug 后,右键单击要选择的下拉框并在此处发布检查元素功能的结果。那么我可能会对如何正确选择它提供进一步的帮助。

只是为了让您知道 xpath 应该类似于下面的行......:

 element = driver.find_element(:xpath, "//input[@name='payment']")

输入显然是标签的名称。然后你可以通过它的内部属性来定位你的元素,比如..:值、名称甚至类型。上面的行会将这个“element”搜索的结果放入变量元素中。如果您对分配变量不感兴趣,您可以错过 'element =' 位。但是,在找到定位元素所需的一切之后,您会意识到您还需要(特别是如果您正在从事自动化工作)一种控制错误处理的方法,因为当 Web 驱动程序无法定位元素时,它将超时或崩溃尚未加载。

【讨论】:

    【解决方案2】:

    我什至不知道是否有人指出过这个文档?

    http://selenium.googlecode.com/svn/trunk/docs/api/rb/index.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-17
      • 1970-01-01
      • 1970-01-01
      • 2017-09-11
      • 2012-09-27
      • 1970-01-01
      • 1970-01-01
      • 2013-04-28
      相关资源
      最近更新 更多