gpt4 book ai didi

html - 如何获取隐藏元素的值? (瓦蒂尔)

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

只是想知道,如何使用 watir 获取隐藏元素的值?这是元素:

<input type="hidden" value="randomstringhere" id="elementid" name="elementname" />

这是我的自动取款机代码:

require "rubygems"
require "watir-webdriver"
$browser = Watir::Browser.new :ff
$browser.goto("http://www.site.com")
$grabelement = $browser.hiddens(:id, "elementid")
$blah = $grabelement.attribute_value("value")
puts $blah

这会卡在最后一行,然后返回

code.rb:6:in `<main>': undefined method `attribute_value' for #<Watir::HiddenCollection:0x8818adc> (NoMethodError)

很抱歉这个基本问题,我已经搜索过但找不到任何东西。

提前致谢!

最佳答案

问题

您的代码非常接近。问题是行:

$grabelement = $browser.hiddens(:id, "elementid")

这一行表示要获取 ID 为“elementid”的隐藏元素的集合(即所有)。正如错误消息所说,集合没有 attribute_value 方法。只有元素(即集合中的对象)有方法。

解决方案(假设单隐藏匹配id)

假设只有一个,您应该使用 hidden 而不是 hiddens 来获得第一个匹配项(即删除 s) :

$grabelement = $browser.hidden(:id, "elementid")
$blah = $grabelement.value
puts $blah
#=> "randomstringhere"

请注意,对于值属性,您可以只执行 .value 而不是 .attribute_value('value')

解决方法(如果有多个id匹配的hidden)

如果实际上有多个,那么您可以遍历集合或只获取第一个,等等:

#Iterate over each hidden that matches
browser.hiddens(:id, "elementid").each{ |hidden| puts hidden.value }

#Get just the first hidden in the collection
browser.hiddens(:id, "elementid").first.value

关于html - 如何获取隐藏元素的值? (瓦蒂尔),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13280947/

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