gpt4 book ai didi

ruby - 使用 Watir 获取表格的整个列文本

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

我知道使用下面的代码我们可以在 WATIR 中获取整行文本

# row 2 - entire text
table1 = browser.table(:id => "table")
puts table1[1].text

我们怎样才能得到像这样的整个列文本?

最佳答案

有一些内置方法可以帮助获取列数据,但是 Watir-Webdriver 和 Watir-Classic 之间有所不同。

假设我们正在处理表格:

<table>
<tr>
<td>1a</td>
<td>1b</td>
</tr>
<tr>
<td>2a</td>
<td>2b</td>
</tr>
</table>

解决方案 - Watir-Webdriver 和 Watir-Classic

Table 类有一个 strings 方法,它以二维数组的形式返回表格的文本。该数组由行组成,但您可以使用 transpose 使其成为列。

columns = browser.table(:id => "table").strings.transpose
p columns[0]
#=> ["1a", "2a"]
p columns[1]
#=> ["1b", "2b"]

解决方案 - Watir-Classic

在 Watir-Classic 中,Table 类还有一个内置的 column_values 方法,这意味着您可以简单地执行以下操作:

p browser.table(:id => "table").column_values(0)
#=> ["1a", "2a"]
p browser.table(:id => "table").column_values(1)
#=> ["1b", "2b"]

解决方案 - 迭代

您当然也可以遍历每一行并收集每一列中的单元格:

p browser.table(:id => "table").trs.collect{ |tr| tr[0].text }
#=> ["1a", "2a"]
p browser.table(:id => "table").trs.collect{ |tr| tr[1].text }
#=> ["1b", "2b"]

关于ruby - 使用 Watir 获取表格的整个列文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25035136/

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