【发布时间】:2013-08-28 23:23:18
【问题描述】:
我正在尝试从 li 中获取文本值,该 li 是 div 的子项。我的问题是有多个具有相同类名的 div。 Watir 只考虑第一个 div。我尝试了以下方法:
ie.div(:class,'class1', :index => 0).lis.each do |li|
puts li.text
end
我更改了索引,但它什么也没打印出来
进程以退出代码 0 结束
如果有办法提取“订单号:12345678”,请告诉我。
HTML 代码:
<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">
谢谢!
【问题讨论】:
-
将
:index => 0更改为:index => 1应该会返回文本,但是——从长远来看——这可能是一个脆弱的解决方案。 -
作为一个人,您如何知道要获取哪些文本?该页面必须有更多内容,还是您只是查找文本订单号?无论哪种方式,都有助于提供更完整的 html 示例。 li 元素似乎不太可能嵌套在同一类的多个 div 中。请记住,像这样的问题需要一个好的 html 示例才能获得有用的答案。
-
@Justin Ko Html 与上面的结构相同,我刚刚更改了类名。订单号在此订单确认页面生成,并作为项目符号嵌套在表格中。此项目符号项(li)是 div 的子项。但是,除了它们包含的文本之外,还有 2 个具有确切属性的 Div。我希望有一些方法可以区分 div 和它们包含的文本,然后导出 li 的文本。
-
`
标签: watir