gpt4 book ai didi

ruby - 如何使用 watir webdriver 检索元素属性列表

转载 作者:数据小太阳 更新时间:2023-10-29 07:26:04 24 4
gpt4 key购买 nike

我正在尝试编写一个 watir webdriver 脚本,它检索元素的属性,然后获取它们的值。给定元素

  <input id="foobar" width="200" height="100" value="zoo" type="text"/>

希望我能做类似下面的事情:

  testElement = $b.element(:id, "foobar")
testElement.attributes.each do |attribute|
puts("#{attribute}: #{testElement.attribute_value(attribute)}")
end

我希望得到

  id: foobar
width: 200
height: 100
value: zoo
type: text

最佳答案

我见过有人使用 javascript 来获取属性列表。下面显示了如何向 Watir::Element 添加方法以获取属性列表(尽管扩展 Watir 是可选的)。

#Add the method to list attributes to all elements
require 'watir-webdriver'
module Watir
class Element
def list_attributes
attributes = browser.execute_script(%Q[
var s = [];
var attrs = arguments[0].attributes;
for (var l = 0; l < attrs.length; ++l) {
var a = attrs[l]; s.push(a.name + ': ' + a.value);
} ;
return s;],
self )
end
end
end

#Example usage
browser = Watir::Browser.new
browser.goto('your.page.com')
el = browser.text_field(:id, 'foobar')
puts el.list_attributes
#=> ["width: 200", "type: text", "height: 100", "value: zoo", "id: foobar"]

关于ruby - 如何使用 watir webdriver 检索元素属性列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12485833/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com