RobotFramework中使用Execute Javascript关键字执行代码报错如何解决
你对问题原因的猜测是错误的,该报错和JavaScriptExecutor导入没有任何关系。
核心问题
你混淆了两种不同场景的Selenium调用写法:
- Java代码中调用Selenium原生API时,才需要写
JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript("alert('OK')")这类代码,同时需要导入对应的Java类。 - 你当前使用的是Robot Framework SeleniumLibrary的
Execute Javascript关键字,该关键字已经内置封装了JavaScriptExecutor的全部底层逻辑,不需要你额外编写Java侧的声明代码,只需要传入要浏览器执行的纯JavaScript代码即可。
正确写法
你要实现弹出alert的效果,直接使用如下代码即可:
SeleniumLibrary.Execute Javascript alert('OK')
之前的报错是因为你把Java语法的代码直接传给了浏览器的JavaScript引擎执行,JS引擎无法识别Java的类型声明语法,所以抛出了Unexpected identifier异常。
内容的提问来源于stack exchange,提问作者Filip Dvořák
相关产品推荐
相关产品推荐

