目前我正在使用Selenium WebDriver使用Java代码执行JavaScript文件。当我执行它时,我收到以下错误。
我尝试过像this,this和this这样的方法。但是你们仍然没有运气帮助我。
以下是我的Selenium代码
import java.io.File;
import java.io.IOException;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import com.google.common.base.Charsets;
import com.google.common.io.Files;
public class Selenium_JavaScript_Test {
private static WebDriver driver;
@BeforeClass
public static void setUp() {
System.setProperty("webdriver.ie.driver", "D://WorkSpace//Driver//IEDriverServer.exe");
driver = new InternetExplorerDriver();
driver.manage().window().maximize();
WebDriverWait wait = new WebDriverWait(driver, 30);
driver.get("https://A Sample Test Site .com/");
WebElement ele = driver.findElement(By.cssSelector("a.js-selected-navigation-item.nav-item.nav-item-personal"));
// read script file
try {
wait.until(ExpectedConditions.elementToBeClickable(ele));
Thread.sleep(3000);
String workingDir = System.getProperty("user.dir") + "\\needful\\xmlhttp.js";
System.out.println(workingDir);
String fileContents = Files.toString(new File(workingDir), Charsets.UTF_8);
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript(fileContents);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Test
public void Testing() {
System.out.println("testing");
}
@AfterClass
public static void tearDown() {
/*try {
Thread.sleep(10000);
driver.quit();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}*/
}
}
以下是我的xmlhttp.js文件代码
var xmlReq;
if (window.XMLHttpRequest)
{
//code for IE7+, Firefox, Chrome, Opera, Safari
xmlReq = new XMLHttpRequest();
}
else
{ //code for IE6, IE5
xmlReq = new ActiveXObject("Microsoft.XMLHTTP");
}
url = "Access-Control-Allow-Origin:http://maps.googleapis.com/maps/api/directions/xml?origin=Okkiyam+Thuraipakkam&destination=nellore";
xmlReq.open("GET", url, true);
xmlReq.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xmlReq.send();
xmlReq.onreadystatechange = function ()
{ alert(xmlReq.readyState + " Statuscode= "+ xmlReq.status);
if (xmlReq.readyState == 4 )
{
response = xmlReq.responseText;
alert("response= "+xmlReq.responseText);
//returnedXMLDoc = loadXMLString(response);
var strFormIdXML = "";
var parser = new DOMParser();
xmlDoc = parser.parseFromString(response,"text/xml");
strFormIdXML = xmlDoc.getElementsByTagName("distance");
var value1 = strFormIdXML[0].getElementsByTagName("value")[0].textContent;
var value2 = strFormIdXML[0].getElementsByTagName("text")[0].textContent;
alert("Distance value= "+value1);
alert("Distance text= "+value2)
}
};
"访问被拒绝"在这一行 - xmlReq.open(" GET",url,true);