实习生/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