总结
我想找出一种方法,使用 's 将标签添加到 DOM 的头部,或者任何其他方法都可以。<script>SeleniumJavascriptExecutor
我尝试了很多方法,也发现了一些类似的主题,但没有一个解决了我的问题,这就是为什么我觉得有必要在这里问它。
例如:
这个问题中建议的解决方案并没有解决我的问题。有些人说这对他们有用,但不,它不适合我。
我一直在尝试执行什么?
以下是我要执行的代码的小片段:
WebDriver driver = new FirefoxDriver();
JavascriptExecutor jse = (JavascriptExecutor) driver;
jse.executeScript("var s = document.createElement('script');");
jse.executeScript("s.type = 'text/javascript';");
jse.executeScript("s.text = 'function foo() {console.log('foo')}';");
jse.executeScript("window.document.head.appendChild(s);");
我只是跳过了上面的代码,您可以使用等导航到网页,然后尝试执行脚本。driver.get()
另外,将包含我想使用的实际脚本,所以我只是放了一个函数来给出这个想法。s.textfoo()
上面的代码会在您运行它时引发此错误:
Exception in thread "main" org.openqa.selenium.JavascriptException: ReferenceError: s is not defined
到目前为止,我已经尝试了在互联网上找到的所有可能的解决方案,但似乎没有一个有效。
达令说
慕森卡
相关分类