Selenium webdriver SeleniumWebDriver中的JavaScript执行器

Selenium webdriver SeleniumWebDriver中的JavaScript执行器,selenium-webdriver,Selenium Webdriver,我想在我的脚本中使用JavaScript 我已经创建了JavaScriptExecutor的对象,但是executeScript()方法不存在。当我使用executeScript()方法时,它显示错误 这是我使用的代码: import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.JavascriptExecutor; public class GetDomain_JS { public

我想在我的脚本中使用JavaScript

我已经创建了
JavaScriptExecutor
对象
,但是
executeScript()
方法不存在。当我使用
executeScript()
方法时,它显示错误

这是我使用的代码:

import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.JavascriptExecutor;


public class GetDomain_JS {

    public static void main(String[] args) {
        WebDriver driver=new FirefoxDriver();
        driver.get("http://only-testing-blog.blogspot.in/2013/11/new-test.html");
        driver.manage().window().maximize();

        System.out.println(driver.getCurrentUrl());

        JavaScriptExecutor js=(JavaScriptExecutor) driver;

        String domain_name=(String) js.executeScript("return document.domain");

                System.out.println(doamin_name);

    }
}

请确保您已导入正确的软件包

使用Java脚本所需的程序包:

import org.openqa.selenium.JavascriptExecutor;

试试这个包裹。这将解决您的错误

这对我很有效;您在
JavaScriptExecutor
上有一个大写的
S
错误。相反,您应该使用带有小写字母
s
javascriptExecutor

请尝试以下代码:

import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;


public class GetDomain_JS {

public static void main(String[] args) {
    WebDriver driver=new FirefoxDriver();
    driver.get("http://only-testing-blog.blogspot.in/2013/11/new-test.html");
    driver.manage().window().maximize();

    System.out.println(driver.getCurrentUrl());

    JavascriptExecutor js=(JavascriptExecutor) driver;

    String domain_name=(String) js.executeScript("return document.domain");

            System.out.println(domain_name);

}
}

这对我有用!!如果对你有好处,请砰的一声

可以从executeScript返回对象。以后你可以从中提取文本

Object domain_name = js.executeScript("return document.domain");

System.out.println(domain_name.toString());
通过这种方式,您可以返回任何类型的值,而不仅仅是字符串。

说明: 添加最新的jar(我正在使用3.0 beta selenium jar)。导入Javascript库包。通过强制转换到JavascriptExecutor来获取web驱动程序对象,并运行您想要运行的任何java脚本

代码:
有什么区别?纠正了
System.out.println(doamin_名称)中的输入错误?它现在可以工作了,错误是:我创建了JavaScriptExecutor的实例,JavaScriptExecutor(小写S)是正确的一个。JavaScriptExecutor js=(JavaScriptExecutor)驱动程序;我不明白这句话,JavascriptExecutor是一个接口,所以我们将驱动程序对象转换为JavascriptExecutor??我应该使用JavascriptExecutor而不是JavascriptExecutor。你的答案当然值得一点解释。这将添加可搜索的内容,以便其他用户可以找到它并从我们的工作中受益。同意,我认为有很多答案,所以所有人都不知道代码是怎么说的。添加了更多信息。
import com.thoughtworks.selenium.webdriven.JavascriptLibrary;
Object ob = ((JavascriptExecutor) webDriver()).executeScript("return document.domain").toString();
System.out.println(ob);