我在将一些样本测试/规范从 Watir 转换为 Selenium 方面做得更进一步。在我在这里提出最后一个问题并建议回复之后,我开始使用带有 WebDriver 的 Selenium 2.0 而不是 Selenium 1。
有问题的示例涉及将表中的所有链接收集到一个数组中——这部分是完整的。但是,一旦链接在数组中,我可以与它们交互的唯一有意义的方式似乎是 .text。使用 @driver.navigate.to Array[1] 在浏览器中会出现 URL 格式错误,并且 link.href 或 .src 不是有效选项。
Watir 实现收集了这些链接(用户通过 CMS 添加的页面),将它们存储在一个数组中,然后逐个访问每个页面,提交一个潜在客户表单。我相信我可以使用 Selenium 并重新访问包含潜在客户表单提交之间的所有链接的“主页”页面,但这可能意味着数百个额外的页面加载,无论是否缓存。
到目前为止的代码:'@countries = Array.new
@browser.navigate.to "http://www.testingdomain{$env}.com/global"
@browser.find_elements(:xpath, "//table[@class='global-list']//a").each do |link|
@countries << [link.text, link.href] ## The original WATIR line that needs an update
end #links
@countries.uniq! #DEBUG for false CMS content'
我在 selenium-webdriver 文档中可以找到的最接近的项目是 (string).attribute 方法,但同样,我不确定哪些属性