我正在使用 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 驱动程序无法定位元素时,它将超时或崩溃尚未加载。