实习生/Leadfoot:如何获取 HTTP 状态代码
Intern / Leadfoot: How to get HTTP status code
如何使用 intern 移动到某个页面后确定 HTTP 状态?
this.remote.get('http://google.de') // status 200
this.remote.get('http://google.de/alsdflasdf') // 404 Not Found
所以这里是 hack..使用 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
如何使用 intern 移动到某个页面后确定 HTTP 状态?
this.remote.get('http://google.de') // status 200
this.remote.get('http://google.de/alsdflasdf') // 404 Not Found
所以这里是 hack..使用 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