我正在尝试从li获取文本值,这是div的子项。我的问题是有多个具有相同类名的div。 Watir仅考虑第一个div。我尝试了以下方法:
ie.div(:class,'class1', :index => 0).lis.each do |li|
puts li.text
end
我更改了索引,但它只打印出任何内容
处理完成,退出代码为0
如果有办法提取“订单号:12345678”,请告诉我。
HTML code:
<html>
<body>
<form name:"Form1" action="action.cfm">
<table width = "100%" align = "center" cellPadding = "10">
<tbody>
<tr>
<td width="33%" vAlign="top">
<td width="33%" vAlign="top">
<td width="33%" vAlign="top">
<div class="class1">
<div class="class2">
<div class="class3">
<div class="class4">
<div class="class5">
<div class="class4">
<div class="class2">
<div class="class1">
<li>
Text - Order Number: 12345678
<td width="33%" vAlign="top">
.
.
.
<td width="33%" vAlign="top">
谢谢!
答案 0 :(得分:0)
假设“订单号”是已知文本,您可以使用它来定位所需的元素。
如果“订单号”仅在列表项中出现一次,我建议绕过div并直接获取li:
browser.li(:text => /Order Number:/).text
#=> "Order Number: 12345678"
如果你需要div元素,你可以通过它的类和文本得到它:
parent_div = browser.div(:class => 'class1', :text => /Order Number:/)
parent_div.li.text
#=> "Order Number: 12345678"
请注意,我们使用正则表达式匹配文本,因为它允许部分匹配(即与使用完全匹配的字符串相比)。