Ruby Watir, HTMLElement 对象索引
Ruby Watir, HTMLElement Object index
给定以下 WATIR 对象:
my_links["Reports"]
=> #<Watir::Anchor: located: true; {:tag_name=>"a", :index=>8}>
tag_name
容易检索:
my_links["Reports"].tag_name
2018-10-12 12:29:00 INFO Watir <- `Verifying precondition #<Watir::Anchor: located: true; {:tag_name=>"a", :index=>8}># for tag_name`
2018-10-12 12:29:00 INFO Watir <- `Verified precondition #<Watir::Anchor: located: true; {:tag_name=>"a", :index=>8}>#assert_exists`
2018-10-12 12:29:00 INFO Watir -> `Executing #<Watir::Anchor: located: true; {:tag_name=>"a", :index=>8}>#tag_name`
2018-10-12 12:29:00 INFO Watir <- `Completed #<Watir::Anchor: located: true; {:tag_name=>"a", :index=>8}>#tag_name`
=> "a"
但是如何检索索引号?我可以看到它是整数 8
,但我找不到 return 的方法。
哈希 {:tag_name=>"a", :index=>8}
来自元素的选择器。有一个属性 reader 可以访问这个:
my_links["Reports"].selector
#=> {:tag_name=>"a", :index=>8}
您可以从此哈希访问索引:
my_links["Reports"].selector[:index]
#=> 8
请注意,通过集合检索的元素将始终有一个索引。检索单个元素可能不会,这意味着索引将是 nil
:
browser.link.selector
#=> {:tag_name=>"a"}
browser.link.selector[:index]
#=> nil
但是,如果未指定索引,您可以假定它为零。为避免 nil
,提供默认值:
browser.link.selector.fetch(:index, 0)
#=> 0
给定以下 WATIR 对象:
my_links["Reports"]
=> #<Watir::Anchor: located: true; {:tag_name=>"a", :index=>8}>
tag_name
容易检索:
my_links["Reports"].tag_name
2018-10-12 12:29:00 INFO Watir <- `Verifying precondition #<Watir::Anchor: located: true; {:tag_name=>"a", :index=>8}># for tag_name`
2018-10-12 12:29:00 INFO Watir <- `Verified precondition #<Watir::Anchor: located: true; {:tag_name=>"a", :index=>8}>#assert_exists`
2018-10-12 12:29:00 INFO Watir -> `Executing #<Watir::Anchor: located: true; {:tag_name=>"a", :index=>8}>#tag_name`
2018-10-12 12:29:00 INFO Watir <- `Completed #<Watir::Anchor: located: true; {:tag_name=>"a", :index=>8}>#tag_name`
=> "a"
但是如何检索索引号?我可以看到它是整数 8
,但我找不到 return 的方法。
哈希 {:tag_name=>"a", :index=>8}
来自元素的选择器。有一个属性 reader 可以访问这个:
my_links["Reports"].selector
#=> {:tag_name=>"a", :index=>8}
您可以从此哈希访问索引:
my_links["Reports"].selector[:index]
#=> 8
请注意,通过集合检索的元素将始终有一个索引。检索单个元素可能不会,这意味着索引将是 nil
:
browser.link.selector
#=> {:tag_name=>"a"}
browser.link.selector[:index]
#=> nil
但是,如果未指定索引,您可以假定它为零。为避免 nil
,提供默认值:
browser.link.selector.fetch(:index, 0)
#=> 0