使用intern移动到某个页面后如何确定 HTTP 状态?
this.remote.get('http://google.de') // status 200
this.remote.get('http://google.de/alsdflasdf') // 404 Not Found
所以这里是黑客..使用 BrowserMob 代理并通过 BrowserMob 代理发送您的请求,这些代理将为您提供您希望拥有的所有相关状态代码。
这是使用 browsermob 代理将最后响应代码保存到变量的代码示例:
int lastResponseCode;
ProxyServer server = new ProxyServer(8888);
server.start();
server.addResponseInterceptor(new HttpResponseInterceptor() {
@Override
public void process(HttpResponse response, HttpContext context) throws HttpException,
IOException {
lastResponseCode = response.getStatusLine().getStatusCode();
}
});
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability(CapabilityType.PROXY, server.seleniumProxy());
WebDriver driver = new FirefoxDriver(caps);
selenium Webdriver 永远不会支持状态码的原因在这里:https ://github.com/seleniumhq/selenium-google-code-issue-archive/issues/141