java代码通过百度获取第一条搜索结果代码以及注意事项
导入依赖:
<dependency> <groupId>io.github.bonigarcia</groupId> <artifactId>webdrivermanager</artifactId> <version>4.4.3</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>3.141.59</version> </dependency>
具体代码实现:
WebDriver driver = null; try { //清空缓存,避免WebDriverManager下载了其他版本的驱动,导致报错 WebDriverManager.chromedriver().clearResolutionCache(); WebDriverManager.chromedriver().setup(); // 创建ChromeDriver实例 driver = new ChromeDriver(); // 打开百度网页 driver.get("https://www.baidu.com"); // 定位搜索框元素 WebElement searchBox = driver.findElement(By.name("wd")); String searchKey = "搜索的内容"; // 如果是在循环中往搜索框中输入关键词,需要使用这个clear方法 searchBox.clear(); // 在搜索框中输入关键词 searchBox.sendKeys(searchKey); // 提交搜索表单 searchBox.submit(); try { // 等待一些时间,以便查看搜索结果 Thread.sleep(2000); } catch (InterruptedException ignored) { } // 获取搜索结果的标题和链接 WebElement firstResult = driver.findElement(By.cssSelector("h3 a")); String title = firstResult.getText(); String link = firstResult.getAttribute("href"); System.out.println("第一条搜索结果标题:" + title); System.out.println("第一条搜索结果链接:" + link); } catch (Exception ignored) { } finally { // 关闭浏览器 if (driver != null) { driver.quit(); } }
注意事项:
1、如果报错仔细看报错信息,如果是启动失败,可能是谷歌版本的问题,此依赖的WebDriverManager只支持到114.0.5735.90版本的谷歌浏览器,如果要使用最好下载之前的版本,此版本之前的,他会自动下载该版本的ChromeDriver,此版本之后的需要自己手动下载对应版本的ChromeDriver,不使用WebDriverManager,建议还是下载之前版本的谷歌,使用WebDriverManager自动下载ChromeDriver。如果要下载历史版本的谷歌浏览器,参考https://blog.csdn.net/DaisyCold/article/details/126489348。
2、下载了历史版本的谷歌可能还会有问题,打开谷歌浏览器,看看是否是自动更新了,如果是自动更新造成的。参考https://blog.csdn.net/qq_39704682/article/details/86009213?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170607921116800186549521%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=170607921116800186549521&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-86009213-null-null.142^v99^pc_search_result_base1&utm_term=%E5%A6%82%E4%BD%95%E9%98%BB%E6%AD%A2%E8%B0%B7%E6%AD%8C%E8%87%AA%E5%8A%A8%E6%9B%B4%E6%96%B0&spm=1018.2226.3001.4187
我使用的是里面的最后一种方式解决的,前面几种试了都无效:用记事本将下面内容保存成DisableAllGogoleProductesAutoUpdate.reg,双击该文件执行即可禁用所有Google产品的自动更新。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update]
"DisableAutoUpdateChecksCheckboxValue"=dword:00000001
"AutoUpdateCheckPeriodMinutes"=dword:00000000
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix