Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby watir webdriver是否有一个;通配符标记“;?_Ruby_Wildcard_Watir_Watir Webdriver - Fatal编程技术网

Ruby watir webdriver是否有一个;通配符标记“;?

Ruby watir webdriver是否有一个;通配符标记“;?,ruby,wildcard,watir,watir-webdriver,Ruby,Wildcard,Watir,Watir Webdriver,您知道如何像这样搜索页面的源: browser.div(:text => /foo/) browser.wildcard(:text => /foo/) 你怎么能这样做: browser.div(:text => /foo/) browser.wildcard(:text => /foo/) 我正在寻找这个功能,因为我访问的第1页 <tag1>foo</tag1> foo 但是第2页已经 <tag2>foo</tag2

您知道如何像这样搜索页面的源:

browser.div(:text => /foo/)
browser.wildcard(:text => /foo/)
你怎么能这样做:

browser.div(:text => /foo/)
browser.wildcard(:text => /foo/)
我正在寻找这个功能,因为我访问的第1页

<tag1>foo</tag1>
foo
但是第2页已经

<tag2>foo</tag2>
foo

可以肯定的是,对于这两个页面,foo都不会出现在页面的其他地方。

元素将找到任何匹配的元素,而不管标记名如何:

browser.element(文本:/foo/)

贾斯汀在评论中提出了一个很好的观点。将
#元素
与正则表达式值配对将导致返回
html
元素

如果您想要引用它的最后一个标记(请注意,这可能是一个禁止使用的非性能选项):

browser.element(文本:/foo/,索引:-1)

如果嵌套跨距没有任何问题,这将是一个稍微快一点的选项:

b.element(text:/foo/,tag|u name:/span | td/)


一般来说,在不必*使用正则表达式匹配器的情况下,最好避免使用正则表达式匹配器。

元素将找到任何匹配的元素,而不管标记名如何:

browser.element(文本:/foo/)

贾斯汀在评论中提出了一个很好的观点。将
#元素
与正则表达式值配对将导致返回
html
元素

如果您想要引用它的最后一个标记(请注意,这可能是一个禁止使用的非性能选项):

browser.element(文本:/foo/,索引:-1)

如果嵌套跨距没有任何问题,这将是一个稍微快一点的选项:

b.element(text:/foo/,tag|u name:/span | td/)

一般来说,在不必使用正则表达式匹配器的情况下,避免使用正则表达式匹配器要好得多。

xpath呢

browser.element(xpath: "//tag1[contains(text(),'foo')]")
如果页面上只有一个tag1,您甚至可以:

browser.element(xpath: "//tag1")
xpath呢

browser.element(xpath: "//tag1[contains(text(),'foo')]")
如果页面上只有一个tag1,您甚至可以:

browser.element(xpath: "//tag1")

出于好奇,什么是
,但我找到了一个不需要
元素的解决方案,出于好奇,你为什么要问?我只是想知道你的用例是什么。出于好奇,
>,但是我发现了一个不需要
元素
@orde的工作环境,出于好奇,你为什么要问?我只是想知道你的用例是什么。我想你必须小心。如果页面上有“foo”,它将始终返回
html
元素,这是包含文本的第一个元素。如果已知标记文本完全是“foo”,则
browser.element(文本:'foo')
将更安全。我认为您必须小心这一点。如果页面上有“foo”,它将始终返回
html
元素,这是包含文本的第一个元素。如果已知标记文本完全是“foo”,则
browser.element(文本:'foo')
将更安全。