gpt4 book ai didi

ruby - 如何循环访问链接并使用 Watir 单击每个链接

转载 作者:太空宇宙 更新时间:2023-11-03 16:39:43 26 4
gpt4 key购买 nike

我有一个带有网格的网页,某些列在列标题中有一个链接,该链接将按该列 [通过往返服务器] 对值进行排序。

我想编写一个 Watir 测试来识别那些排序链接并连续点击每个链接。这是一个冒烟测试,可确保排序表达式不会导致运行时异常。

我的问题是,(1) 识别这些链接,以及 (2) 连续点击每个链接的最佳方法是什么?这是我目前所拥有的:

$ie.table(:id, "myGrid").body(:index, 1).each do | row |
row.each do | cell |
## todo: figure out if this contains a sort link
## todo: click the link now, or save a reference for later?
end
end

最佳答案

认为不可能点击循环内的每个链接,因为点击链接会触发页面加载,我相信这会使其他 Watir 链接元素无效。

因此,我的建议是获取链接的 ID,然后在彼此之间循环进行点击。


例如,我会为那些排序链接添加一个特定的类和一个有意义的 ID。类似的东西:

<a id='sortby-name' class='sorting' href='...'>Name</a>

然后你可以用这个来挑选它们:

$ie.table(:id, "myGrid").body(:index, 1).each do | row |
# pick sorting links' ids
sorting_link_ids = row.links.select{|x| x.class_name == "sorting"}.map{|x| x.id}
end

然后,您可以这样点击:

sorting_link_ids.each do |link_id|
$ie.table(:id, "myGrid").body(:index, 1).link(:id, link_id).click
end

希望对您有所帮助!

关于ruby - 如何循环访问链接并使用 Watir 单击每个链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1670036/

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