java - 使用带有 Selenium 的 JavaScript 命令,出现错误

标签 java javascript selenium selenium-ide

你好,

我正在使用带有 Firefox 的 Selenium IDE,但我需要单击的链接之一的目标为“_blank”,而 Selenium IDE 似乎无法跟踪它,或者它会丢失其位置。我尝试使用以下代码来删除链接中的目标并打开它:

<tr>
   <td>getEval</td>
   <td>this.page().findElement('css=html body#reportViewer div#frame.column div.content div#display.body div#reportViewFrame.column div.content div.body center div#reportContainer div div div span span a span').removeAttribute('target')</td>
   <td></td>
</tr>
<tr>
   <td>storeEval</td>
   <td>this.page().findElement('css=html body#reportViewer div#frame.column div.content div#display.body div#reportViewFrame.column div.content div.body center div#reportContainer div div div span span a span').href</td>
   <td>url</td>
</tr>
<tr>
   <td>getEval</td>
   <td>getEval | this.page().findElement('xpath=//html/body/div[18]/div[9]/div[2]/div/div[9]/div[2]/center/div/div/div[2]/div/span/span/a').href = 'javascript:window.open('${url}','myWindow')'</td>
   <td></td>
</tr>
<tr>
   <td>click</td>
   <td>css=html body#reportViewer div#frame.column div.content div#display.body div#reportViewFrame.column div.content div.body center div#reportContainer div div div span span a span</td>
   <td></td>
</tr>

我收到的错误是:

[error] Threw an exception: invalid assignment left-hand side

错误出现在第二个“getEval”语句处(第 12 -15 行)。任何事情都会有所帮助,谢谢。

IDE 表示此脚本:

[info] script is: getEval | this.page().findElement('xpath=//html/body/div[18]/div[9]/div[2]/div/div[9]/div[2]/center/div/div/div[2]/div/span/span/a').href = "javascript:window.open(\"null\",\"myWindow\")" 

正在执行,因此 url 变量没有获取存储在其中的任何值。

最佳答案

您的引用似乎有问题

'javascript:window.open('$url','myWindow')'

将里面的'替换为"

关于java - 使用带有 Selenium 的 JavaScript 命令,出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17191743/

相关文章:

java - Selenium Firefox 加载配置文件,但 Web 驱动程序部分不再工作

java - 如何根据 POJO 中的另一个值更改变量的值?

java - 如何使用 JPA 和 Hibernate 从表中选择最后插入的 5 条记录

java - 如何在java中创建跨平台的安装程序

javascript - Ext 5.1.1,扩展Ext.window.Toast

java - 如何解决在Android上运行appium驱动程序的问题

java - 无法使用 Selenium 和 Java 在 Mac OSX 中启动 Safari 12 浏览器

java - 通过 Spring Boot java 本地访问时,Aws Elasticache (Redis) 无法连接(jedis 连接错误)

javascript - 正则表达式仅返回找到的第一个结果

更改事件后的 Javascript 回调具有部分页面刷新