用硒打开的Chrome页面仍然空白

时间:2020-01-13 13:35:55

标签: python selenium google-chrome webdriver

我正在尝试保存网页的屏幕截图,为此,我正在尝试使用Selenium。问题在于,一旦打开网页,URL中的“ data:”将保持空白。

这是我的代码:

\Cake\Routing\Router::scope('/', function (\Cake\Routing\RouteBuilder $routes) {
    $routes->registerMiddleware('bodyParser', new \Cake\Http\Middleware\BodyParserMiddleware());
    $routes->applyMiddleware('bodyParser');

    // ...
});

注意:我已经检查了chromedriver版本与chrome浏览器版本是否兼容。

2 个答案:

答案 0 :(得分:0)

您需要使用 chromedriver的绝对路径更新 Key executable_path 二进制和service_args如下:

driver = webdriver.Chrome(options=options,executable_path=r'C:\path\to\chromedriver.exe', service_args=["--log-path=C:\\path\\to\\mylog.log"])

您可以在以下位置找到一些相关的讨论

答案 1 :(得分:0)

感谢您的帮助,实际上Guy是对的,我必须指定端口:

 Call<ResponseBody> call = retrofitInterface.uploadImage(body);
    mProgressBar.setVisibility(View.VISIBLE);
    call.enqueue(new Callback<ResponseBody>() {
        @Override
        public void onResponse(Call<ResponseBody> call, retrofit2.Response<ResponseBody> response) {

            mProgressBar.setVisibility(View.GONE);

           // Log.v("keys","-----response---------"+response);
            if (response.isSuccessful()) {

               // Response responseBody = response.body();
                //mBtImageShow.setVisibility(View.VISIBLE);
                //assert responseBody != null;

                 try{
                Log.d("response","data: "+response.body().string())
              }catch(Exception e){
                e.printStackTrace();
                  }

            } else {

               // ResponseBody errorBody = response.errorBody();

                //Gson gson = new Gson();

                //assert errorBody != null;
                //Response errorResponse = gson.fromJson(errorBody.toString(), Response.class);


            try{
               Log.e("response","error: "+response.errorBody().string())
              }catch(Exception e){
               e.printStackTrace();
               }
            }
        }

        @Override
        public void onFailure(Call<ResponseBody> call, Throwable t) {

            mProgressBar.setVisibility(View.GONE);
            Log.d(TAG, "onFailure: "+t.getMessage());
        }
    });

现在可以了!