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无效。