1

动手之后Selenium-ClientWatir我开始研究Selenium-Webdriver/ Ruby

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

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

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

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

4

2 回答 2

0

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

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

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

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

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

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

于 2012-05-07T14:24:29.777 回答
0

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

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

于 2012-10-28T02:16:01.850 回答