在我找到一个元素之后,让我们说一个span
. 有没有办法保存它的属性,或者类似的东西,所以span
即使它不再存在于屏幕上,也不能“点击”?
我需要的是一种在执行一些span
从屏幕上删除的操作后访问其指向的页面的方法。
我知道 watir-webdriver 用于 GUI 测试,因此应该只允许人类可以执行的操作。但我希望还有办法。
在我找到一个元素之后,让我们说一个span
. 有没有办法保存它的属性,或者类似的东西,所以span
即使它不再存在于屏幕上,也不能“点击”?
我需要的是一种在执行一些span
从屏幕上删除的操作后访问其指向的页面的方法。
我知道 watir-webdriver 用于 GUI 测试,因此应该只允许人类可以执行的操作。但我希望还有办法。
我需要查看您网页的来源,但通常您可以这样做:
1.9.3p392 :001 > require "watir-webdriver"
=> true
1.9.3p392 :002 > b = Watir::Browser.start "stackoverflow.com"
=> #<Watir::Browser:0x7f93652a09b4f1a2 url="http://stackoverflow.com/" title="Stack Overflow">
1.9.3p392 :004 > a = b.span(:id, "hlinks-custom").a(:text, "about").href
=> "http://stackoverflow.com/about"
1.9.3p392 :005 > b.a(:text, 'faq').click
=> []
1.9.3p392 :006 > b.title
=> "Frequently Asked Questions - Stack Overflow"
1.9.3p392 :007 > b.goto a
=> "http://stackoverflow.com/about"
是的,有一种方法,只需在元素存在时保存它,然后再使用它。这是一个示例,其中 watir 开车到 google.com,当您看到“mark...”打印时,您可能会关闭浏览器并会看到变量“element”仍然保存其中的值...
require 'watir';
ie = Watir::Browser.new();
ie.goto("google.com");
puts("mark...");
element = ie.span(:id, "gbqfsa").html();
sleep(5);
#close the browser while you sleep...
puts(element);
它打印元素的 html 值,因此它仍然保留引用