由于“未解析的类型”错误,无法使用Web驱动程序运行Javascript
Cannot run Javascript with Webdriver due to "unresolved type" error
嗨,由于Unresolved compilation problem
,我无法使用 Web 驱动程序运行 JavaScript,任何人都可以指出我出错的地方,以便我可以在运行硒 Web 驱动程序脚本时运行真正简单的 JavaScript 行?
package Check;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class java {
public static void main(String[] args) {
// TODO Auto-generated method stub
FirefoxDriver driver = new FirefoxDriver();
driver.get("https://www.google.co.uk/search?q=dreams");
WebDriver driver2 = new AnyDriverYouWant();
JavascriptExecutor js;
if (driver instanceof JavascriptExecutor) {
js = (JavascriptExecutor)driver;
}
js.executeScript("function showAlert() { alert('success'); }; showAlert()");
driver.quit();
}
}
错误详细信息:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
AnyDriverYouWant cannot be resolved to a type
at Check.java.main(java.java:13)
看起来您正在尝试实例化一个不存在的类,即:
WebDriver driver2 = new AnyDriverYouWant();
删除此行(它看起来不像是必需的),它应该可以工作。
我需要强制页面等待并无条件地实例化变量,这是有效的修订代码:
package Check;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.firefox.FirefoxDriver;
public class jave {
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
FirefoxDriver driver = new FirefoxDriver();
driver.get("https://www.google.co.uk/search?q=dreams");
//WebDriver driver2 = new AnyDriverYouWant();
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("function showAlert() { alert('success'); }; showAlert()");
Thread.sleep(5000);
driver.quit();
}
}
我从这里下载了最新的 chrome 驱动程序和最新的 selenium jar 文件 (2.44),并使用此代码,我可以使元素可点击:
// Find an element and define it
WebElement elementToClick = D9.findElement(By.xpath("xpathcode"));
// Scroll the browser to the element's Y position
((JavascriptExecutor) D9).executeScript("window.scrollTo(0,"+elementToClick.getLocation().y+")");
// Click the element
elementToClick.click();
我今天遇到了这个确切的问题。通过显式编写 javascriptExecutor 类的导入语句来解决。
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- 在Web应用程序中使用Highcharts javascript
- Selenium Web驱动程序和javascript
- Windows形成web浏览器控件和Javascript更改的DOM
- 如何将javascript事件从web浏览器wpf控件发送到wpf的c#代码
- 如何在visualstudio中调试web api时编辑javascript文件
- 如何在Ionic Android中将Javascript注入到web视图中
- 使用javascript在客户端上使用Web服务
- 如何通过安全的https连接在javascript中使用基于soap xml的Web服务
- 从Javascript连接到SOAP Web服务
- 使用Web Html表单创建Javascript数组
- Ajax对web URL的调用导致javascript错误
- 用javascript上传web工作者
- 无法从Web(JavaScript)QuickBlox发送推送通知
- 如何从Web JavaScript应用程序获取桌面C#程序中的变量
- Mopub移动web/javascript实现调整文本大小/覆盖CSS
- 自动音频精灵生成器的web/javascript
- SSI Web javascript not working
- 使用Android和Web(JavaScript)的经过身份验证的用户
- 正确配置Eclipse用于非web JavaScript开发