gpt4 book ai didi

watir-webdriver - 如何使用 watir-webdriver 将脚本动态添加到页面

转载 作者:行者123 更新时间:2023-12-01 14:19:05 25 4
gpt4 key购买 nike

我有一些 *.js 脚本,我想在测试运行期间使用 watir-webdriver 执行这些脚本。所以问题是有什么方法可以使用 watir-webdriver 将脚本上传到页面吗?

最佳答案

您可以使用 execute_script 方法添加一个带有 src 属性的脚本元素作为您的 js 文件。方法调用如下所示:

browser.execute_script(    
"var the_script = document.createElement('script');
the_script.setAttribute('src','your_script.js');
document.head.appendChild(the_script);"
)

要查看它是否有效,让我们假设您拥有以下页面:

<html>
<body>
<input type="text" id="field" value="100">
</body>
</html>

如果您尝试在页面(脚本中的'$')上执行jQuery,则会发生异常,因为页面不知道什么是jQuery:

field = browser.text_field
p browser.execute_script('return $(arguments[0]).val();', field)
#=> $ is not defined (Selenium::WebDriver::Error::JavascriptError)

如果您通过 execute_script 添加 jQuery 脚本文件 ( http://code.jquery.com/jquery-1.10.2.js ),您现在可以使用 jQuery:

browser.execute_script(    
"var the_script = document.createElement('script');
the_script.setAttribute('src','http://code.jquery.com/jquery-1.10.2.js');
document.head.appendChild(the_script);"
)

field = browser.text_field
p browser.execute_script('return $(arguments[0]).val();', field)
#=> "100"

关于watir-webdriver - 如何使用 watir-webdriver 将脚本动态添加到页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26542080/

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