gpt4 book ai didi

html - 在 watir 中搜索带下划线的链接

转载 作者:数据小太阳 更新时间:2023-10-29 08:06:02 25 4
gpt4 key购买 nike

我正在尝试搜索/选择页面中带下划线的链接,而其他页面则没有。来源是这样的:

<a href="someurl1">
<b>
<u>Some ulined text</u>
</b>
<u></u>
</a>
<br>
<a href="someurl2">Other link text</a>
<br>
<a href="someurl3">Another Link text</a>
<br>

我试过类似的东西

link = browser.link(:u?, true)
link.exists?

我得到以下错误

TypeError: expected one of [String, Regexp], got true:TrueClass
from /usr/lib/ruby/gems/1.8/gems/watir-webdriver-0.2.4/lib/watir-webdriver/locators/element_locator.rb:152:in `check_type'
from /usr/lib/ruby/gems/1.8/gems/watir-webdriver-0.2.4/lib/watir-webdriver/locators/element_locator.rb:189:in `normalized_selector'
from /usr/lib/ruby/gems/1.8/gems/watir-webdriver-0.2.4/lib/watir-webdriver/locators/element_locator.rb:188:in `each'
from /usr/lib/ruby/gems/1.8/gems/watir-webdriver-0.2.4/lib/watir-webdriver/locators/element_locator.rb:188:in `normalized_selector'
from /usr/lib/ruby/gems/1.8/gems/watir-webdriver-0.2.4/lib/watir-webdriver/locators/element_locator.rb:76:in `find_first_by_multiple'
from /usr/lib/ruby/gems/1.8/gems/watir-webdriver-0.2.4/lib/watir-webdriver/locators/element_locator.rb:33:in `locate'
from /usr/lib/ruby/gems/1.8/gems/watir-webdriver-0.2.4/lib/watir-webdriver/elements/element.rb:260:in `locate'
from /usr/lib/ruby/gems/1.8/gems/watir-webdriver-0.2.4/lib/watir-webdriver/elements/element.rb:247:in `assert_exists'
from /usr/lib/ruby/gems/1.8/gems/watir-webdriver-0.2.4/lib/watir-webdriver/elements/element.rb:31:in `exist?'

编辑:所以我实际上是用它来抓取屏幕而不是测试。这或许可以解释为什么 watir 不直接支持这一点的原因,因为 CSS 和其他更好的实践对测试有意义,而且当您将 HTML 开发和测试齐头并进时。 Hoserver 从抓取的角度来看,文本格式是用户看到的,搜索带下划线、粗体的链接等对抓取有意义。

最佳答案

我以前从未见过在测试用例中使用过那种属性。我也没有看到任何代码支持它。你可能需要自己动手。这是一个例子 borrowed from Zeljko

def hasUnderlined(browser)
s = false
browser.links.each do |l|
if l.html.downcase.match /\<u\>*\<\/u\>/
s = true
end
end
end

def getUnderlined(browser)
browser.links.each do |l|
if l.html.downcase.match /\<u\>*\<\/u\>/
return l
end
end
end

关于html - 在 watir 中搜索带下划线的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6319820/

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