Selenium webdriver SeleniumWebDriver中的JavaScript执行器
我想在我的脚本中使用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
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);