我正在尝试获取页面 https://secure.twitch.tv/login在 Java 中使用 Selenium 的 PhantomJS,但是在 driver.get(...) 上我总是因为这个错误而崩溃。我尝试过实现这个:
String [] phantomJsArgs = {"--web-security=no", "--ignore-ssl-errors=yes"};
desireCaps.setCapability(PhantomJSDriverService.PHANTOMJS_GHOSTDRIVER_CLI_ARGS, phantomJsArgs);
但这似乎没有什么区别。有谁知道解决方法吗?
这是一些代码:
private void setup(){
DesiredCapabilities desireCaps = new DesiredCapabilities();
desireCaps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, "C:\\Users\\Scott\\workspace\\Twitch Bot v2\\libs\\phantomjs.exe");
desireCaps.setCapability("takesScreenshot", true);
String [] phantomJsArgs = {"--disable-web-security"};
desireCaps.setCapability(PhantomJSDriverService.PHANTOMJS_GHOSTDRIVER_CLI_ARGS, phantomJsArgs);
driver = new PhantomJSDriver(desireCaps);
//driver = new HtmlUnitDriver();
}
这是当我尝试抓取抽搐页面时控制台打印出来的内容。
最佳答案
您似乎正在尝试使用异步 XMLHttpRequest 加载页面,但服务器在其响应中未提供跨源 header (Access-Control-Allow-Origin
)。出于安全原因,不鼓励使用异步 XMLHttpRequest 加载此类资源。
要绕过此限制,请将标志 --disable-web-security
添加到 phantomJsArgs。
关于Java PhantomJS NETWORK_ERR XMLHttpRequest 异常 101,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30492608/