我正在尝试保存网页的屏幕截图,为此,我正在尝试使用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浏览器版本是否兼容。
答案 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());
}
});
现在可以了!