gpt4 book ai didi

selenium - 无法在 firefox 中使用 selenium 3 注入(inject) javascript

转载 作者:行者123 更新时间:2023-12-02 21:46:56 25 4
gpt4 key购买 nike

我正在使用 selenium 注入(inject) java 脚本变量并检索它以进行验证。

下面是我的示例代码,它在 selenium 版本 2.53.1 上运行良好。当我升级到selenium 3并开始使用firefox的gecko驱动程序时,当我检索值时它会抛出异常。

driver.executeScript("globalVar='Amit';");
Object result = driver.executeScript("return globalVar");
System.out.println(result.toString());

异常(exception):

org.openqa.selenium.JavascriptException: ReferenceError: globalVar is not defined

在 selenium 3 中,相同的代码也适用于 Chrome。

我在这里遗漏了什么吗?或者是否添加了任何功能来允许在 Firefox/Gecko 驱动程序中进行此类操作?

最佳答案

您在执行的脚本中设置的变量不是全局的 - 它们“位于”执行函数的范围内。如果您想要在多个执行的脚本中访问一个全局变量,则必须使用可用的全局对象之一,例如窗口:

driver.executeScript("window.globalVar = 'Amit';");
Object result = driver.executeScript("return window.globalVar");
System.out.println(result.toString());

关于selenium - 无法在 firefox 中使用 selenium 3 注入(inject) javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41241745/

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