Ruby Watir和之前的兄弟方法hmmm
这是我的密码:Ruby Watir和之前的兄弟方法hmmm,ruby,watir,Ruby,Watir,这是我的密码: #test require 'watir' url_file = "file:///home/alain/yo.html" # same as yo: yo = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&g
#test
require 'watir'
url_file =
"file:///home/alain/yo.html"
# same as yo:
yo =
'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<div class="Time">time1</div>
<span class="Locus">locus1</span>
<span class="Locus">locus2</span>
<body text="andale">
<div class="alpha">
<div class="Time">time2</div>
<span class="Locus">locus3</span>
<div class="Time">time3</div>
</div>
</body>
<span class="Locus_xxxx">locus4</span>
<span class="Locus">locus5</span>
<span class="Locus">locus6</span>
</html>'
browser = Watir::Browser.new
browser.goto url_file
result = browser.spans(class: 'Locus_xxxx').map do |sp|
time = sp.preceding_sibling(tag_name: 'body').text
locus = sp.text
"#{time} #{locus}"
end
p result
#测试
需要“watir”
url\u文件=
"file:///home/alain/yo.html"
#和你一样:
哟=
'
时间1
蝗虫1
蝗虫2
时间2
蝗虫3
时间3
蝗虫4
蝗虫5
蝗虫6
'
browser=Watir::browser.new
browser.goto url_文件
结果=browser.span(类:“轨迹xxxx”).map do | sp|
时间=sp.previous\u sibling(标记名称:'body')。文本
轨迹=sp.text
“#{time}#{locus}”
结束
p结果
答案如下:
…30秒后超时,等待找到#“Locus_xxxx”,:tag_name=>“span”,:index=>0}-->{:tag_name=>“body”,:nextant=>:previous,:index=>0}>(Watir::Exception::UnknownObjectException)
请注意,Justin Ko想到了前面的兄弟姐妹和映射方法!!
普通水要友好:)
这里的想法是从body标签中获取文本:“andale”。
这是从带有class=Locus_xxxx的span标记中得到的
#test
require 'watir'
url_file =
"file:///yo.html"
# same as yo:
yo =
'
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<div class="Time">time1</div>
<span class="Locus_1">locus1</span>
<span class="Locus">locus2</span>
<span text="andale">
<div class="alpha">
<div class="Time">time2</div>
<span class="Locus">locus3</span>
<div class="Time_yyyy">time3</div>
</div>
</span>
<span class="Locus_xxxx">locus4</span>
<span class="Locus">locus5</span>
<span class="Locus">locus6</span>
</html>
'
browser = Watir::Browser.new
browser.goto url_file
result = browser.divs(class: 'Time_yyyy').map do |dv|
locus = dv.parent.parent.preceding_sibling(tag_name: 'span', class: 'Locus_1').text
time = dv.text
"#{time} #{locus}"
end
需要“watir”
url\u文件=
"file:///yo.html"
#和你一样:
哟=
'
时间1
蝗虫1
蝗虫2
时间2
蝗虫3
时间3
蝗虫4
蝗虫5
蝗虫6
'
browser=Watir::browser.new
browser.goto url_文件
结果=browser.divs(类:“Time_yyyy”).map do|dv|
轨迹=dv.parent.parent.preference\u sibling(标记名称:“span”,类:“轨迹1”)。文本
时间=dv.text
“#{time}#{locus}”
结束
这管用!
结果是
[“时间3-1”]
[在4.0秒内完成]
与此相关的主题:
你的信息非常神秘。你应该提供更多的上下文和更好的描述。我不使用这一切,但只是猜测-错误可能是由于不正确的<代码>正文< /COD>标签在中间的其他HTML标签,使HTML无效。