有没有办法使用Watir从rect标签中检索值。我可以给出一个示例网址。页面下方有矩形条。请找到它
我见过几个来源,但我没有办法得到这些细节。任何人都可以帮助我吗?
答案 0 :(得分:1)
是的,您可以将其作为通用元素访问(仅限示例,不适用于您的代码)。您要查找的数据元素是highcharts-data-labels。
values = browser.element(:css => "g.highcharts-data-labels")
你也可以使用xpath选择器访问该元素,并且可以通过检查元素并请求xpath选择器在Chrome中获取该元素
//*[@id="highcharts-2"]/svg/g[4]/g[2]/text
祝你好运!
答案 1 :(得分:0)
您可以使用xpaths选择所需的矩形。您提供的链接上的每个矩形都有一个唯一的xpath。你的代码可能是这样的:
browser.element(:xpath, "//*[@id='highcharts-0']/svg/g[7]/g/rect[1]").flash
答案 2 :(得分:0)
您可以使用@ jeff-price指出的两种方式之一访问该元素,或者您可以扩展watir以添加对该标记的支持。
默认情况下不包含此内容,因为该内容不属于HTML5标准。基本上相当于这样的“自定义”标签,当然有无限数量的潜在自定义标签。不可能为所有人添加支持。
OTOH你很容易在你的项目中包含一小段代码,这些代码会为watir添加对标签的支持,如果你知道你的项目正在大量使用它,那就非常有意义了。# extend watir to allow support for custom elements not expressly defined in HTML spec
module Watir
module Container
def g(*args)
G.new(self, extract_selector(args).merge(:tag_name => "g"))
end
def gs(*args)
GCollection.new(self, extract_selector(args).merge(:tag_name => "g"))
end
end
class G < Element
end
class GCollection < ElementCollection
def element_class
G
end
end
end
取决于您正在使用的框架等,您可以将其放入文件中并在测试代码的早期需要该文件,或将其放入自动加载的目录中的文件中。
e.g。我使用Cucumber,所以我创建了一个名为custom_element_support.rb
的文件,其中包含该代码,并将其放入features/support
目录,黄瓜将在启动时自动加载