好的,所以我正在学习Web Scraping并且对Java感到满意,因此我选择了Jsoup,它是一个Web报废库。我计划废除A CodeChef contest problem(这只是一个编码问题),但我发现很难删除所有显示的内容,这是不可能的,因为大多数都是动态源。因此,我使用selenium来呈现JavaScript并获取简单的HTML页面,然后将其提供给JSOUP。
所以我尝试打印渲染的HTML页面只是为了验证,但是当我运行代码时出现以下错误:
我的代码:
File f = new File("<Path to chromedriver.exe>");
System.setProperty("webdriver.chrome.driver", f.getAbsolutePath());
WebDriver driver = new ChromeDriver();
driver.get("https://www.codechef.com/problems/FRGTNLNG");
System.out.println(driver.getPageSource());
错误(在chrome中):
You are using an unsupported command-line flag: --ignore-certifcate-errors. Stability and security will suffer
我尝试了Chrome Error: You are using an unsupported command-line flag: --ignore-certifcate-errors. Stability and security will suffer的以下解决方案,我安装了最新的chromedriver,但它没有解决我的错误。
我还尝试按照Pass driver ChromeOptions and DesiredCapabilities?添加所需功能(现已弃用)和ChromeOptions,但同样的错误仍然存在。
提前致谢!
答案 0 :(得分:2)
错误说明了一切:
You are using an unsupported command-line flag: --ignore-certifcate-errors. Stability and security will suffer
根据最佳编程惯例,使用ChromeOptions
类打开 Chrome浏览器 最大化,禁用信息栏和< em>禁用扩展程序,如下所示:
System.setProperty("webdriver.chrome.driver", "C:\\path\\to\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");
options.addArguments("disable-infobars");
options.addArguments("--disable-extensions");
options.addArguments("--test-type");
options.addArguments("--ignore-certificate-errors");
WebDriver driver = new ChromeDriver(options);
driver.get("https://www.google.co.in");
此外,请执行以下步骤: