你好,
我有一个正在使用此代码的 Selenium IDE 脚本:
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').removeAttribute('target')
然后我将整个测试用例导出为 Junit 测试用例。getEval 的命令未包含在导出中。我尝试了以下代码:
if (driver instanceof JavascriptExecutor) {
js = (JavascriptExecutor)driver;
}
js.executeScript("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').removeAttribute('target');");
运行这行代码时,出现异常:未定义页面
我也试过:
sel = new WebDriverBackedSelenium(driver, driver.getCurrentUrl());
sel.getEval("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').removeAttribute('target')");
当这条线运行时,Junit 测试崩溃,并且测试用例失败。我想知道我是否发送了正确的 javascript 脚本,或者是否有另一种更好的方式通过 java 执行这样的 Selenium 命令。
我正在使用 java 6 和 Selenium 2.33.0