gpt4 book ai didi

ruby - 如何使用 Selenium 设置隐藏输入的值?

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

我已经看过 this但没有运气。

我试过那个例子,它说 undefined browserbot,我也试过简单的:

@browser.navigate.to "http://example.com"
@browser.execute_script("$('#hiddenthing').val('foo bar')")

这根本不起作用,如果我尝试在没有 javascript 的情况下设置值,它会显示您无法与隐藏元素交互

有什么建议吗?

最佳答案

Selenium WebDriver 无法与隐藏元素交互,它只能找到它们。如果您尝试对隐藏元素进行任何基于用户的交互,您将收到上面看到的错误。

这是因为创建 SWD 是为了模拟用户可以直接执行的操作(除了少数异常(exception))。能够与隐藏元素交互不属于 SWD 的范围。

但是,SWD 确实提供了将任何 javascript 注入(inject)浏览器的 DOM 的能力(这使得处理这些类型的需求更加合理,即使有点困难)。

通过执行 javascript 尝试这两种方式(正如您从上面链接的线程中看到的那样)。请记住,它需要使用 return 命令:

@browser.execute_script("return document.getElementById('hiddinthing').value = 'foo';")

或者如果你有 jQuery

@browser.execute_script("return $('#hiddenthing').val('foo');")

关于ruby - 如何使用 Selenium 设置隐藏输入的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16327027/

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