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

 

posted @   hwj7  阅读(120)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示