0


[Selenium] 通过Java+Selenium查询文章质量分


文章目录

在这里插入图片描述


前言

大家好,我是青花,本篇给大家分享一下《通过Java+Selenium查询文章质量分》。


一、环境准备

浏览器:本篇使用的是Chrome
Chrome驱动版本:113
Java版本:Jdk1.8
selenium版本: 4.9.1


二、查询文章质量分

2.1、修改pom.xml配置

<!-- https://mvnrepository.com/artifact/org.jsoup/jsoup --><dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.11.3</version></dependency><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>4.9.1</version></dependency>

2.2、配置Chrome驱动

publicfinalstaticString CHROMEDRIVERPATH ="/Users/apple/Downloads/chromedriver_mac64/chromedriver";
System.setProperty("webdriver.chrome.driver",SeleniumUtil.CHROMEDRIVERPATH );//        chromedriver localPath

2.3、引入浏览器配置

WebDriver driver;ChromeOptions chromeOptions =newChromeOptions();

2.4、设置无头模式

    chromeOptions.addArguments('--headless')
    chromeOptions.addArguments("--remote-allow-origins=*");

2.5、启动浏览器实例,添加配置信息

    driver =newChromeDriver(chromeOptions);

2.6、访问质量分地址

    driver.get('https://www.csdn.net/qc')

2.7、窗口设置

    chromeOptions.addArguments("–no-sandbox");//--start-maximized

2.8、定位到输入框并输入博文地址

//定位到输入框WebElement inputSelectE = driver.findElement(By.cssSelector("input.el-input__inner"));//输入文字地址
    inputSelectE.sendKeys(blog_url);

2.9、定位到查询按钮并点击

//定位查询按钮WebElement qcSelectE = driver.findElement(By.cssSelector("div.trends-input-box-btn"));//点击查询按钮
   qcSelectE.click();

2.10、强制等待1s,并转换为jsoup文档处理

SeleniumUtil.sleep(1000);获取右边区域 -- 文章质量分结果区域WebElement mainSelectE = driver.findElement(By.cssSelector("div.csdn-body-right"));//转化为Jsoup文档处理Document doc =Jsoup.parse( mainSelectE.getAttribute("outerHTML"));

2.11、获取博文标题

String title = doc.select("span.title").text();

2.12、获取博文作者和发布时间

String posttime = doc.select("span.name").text();

2.13、获取博文质量分

String score = doc.select("p.img").text();

2.14、获取博文质量分建议

String remark = doc.select("p.desc").text();

2.15、打印结果

    log.info("文章标题:{} , 作者和发布时间:{} , 质量分:{} , 博文建议:{}", title , posttime , score , remark );

2.16、效果

文章标题:《项目实战》构建SpringCloud alibaba项目(三、构建服务方子工程store-user-service) , 作者和发布时间:- 青花锁 · 2023-06-21 18:20:46 - , 质量分:86 , 博文建议:文章质量良好


三、代码

/**
     *  获取文章质量分数据
     * @throws IOException
     */voidcsdnQcBySelenium(){
        log.info("csdnQcBySelenium start!");String blog_url ="https://blog.csdn.net/s445320/article/details/131332238";System.setProperty("webdriver.chrome.driver",SeleniumUtil.CHROMEDRIVERPATH );// chromedriver localPathChromeOptions chromeOptions =newChromeOptions();
        chromeOptions.addArguments("--remote-allow-origins=*");
        chromeOptions.addArguments("–no-sandbox");//--start-maximizedWebDriver driver =newChromeDriver(chromeOptions);

        driver.get("https://www.csdn.net/qc");SeleniumUtil.sleep(1000);//定位到输入框WebElement inputSelectE = driver.findElement(By.cssSelector("input.el-input__inner"));//输入文字地址
        inputSelectE.sendKeys(blog_url);SeleniumUtil.sleep(100);//定位查询按钮WebElement qcSelectE = driver.findElement(By.cssSelector("div.trends-input-box-btn"));//点击查询按钮
        qcSelectE.click();SeleniumUtil.sleep(1000);WebElement mainSelectE = driver.findElement(By.cssSelector("div.csdn-body-right"));//转化为Jsoup文档处理Document doc =Jsoup.parse( mainSelectE.getAttribute("outerHTML"));//获取文章标题String title = doc.select("span.title").text();//获取作者和发布时间String posttime = doc.select("span.name").text();//获取质量分String score = doc.select("p.img").text();//获取博文质量分建议String remark = doc.select("p.desc").text();//打印结果
        log.info("文章标题:{} , 作者和发布时间:{} , 质量分:{} , 博文建议:{}", title , posttime , score , remark );

        driver.quit();
        log.info("csdnQcBySelenium end!");}

总结

单篇查询文章质量分至此结束

标签: java selenium

本文转载自: https://blog.csdn.net/s445320/article/details/131347069
版权归原作者 青花锁 所有, 如有侵权,请联系我们删除。

“[Selenium] 通过Java+Selenium查询文章质量分”的评论:

还没有评论