0


java使用Selenium完成boss直聘自动打招呼脚本

一、环境搭建

环境搭建参考博客

二、代码实现

1.导入maven依赖

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

2.java代码

importorg.openqa.selenium.By;importorg.openqa.selenium.Keys;importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.WebElement;importorg.openqa.selenium.chrome.ChromeDriver;importorg.openqa.selenium.chrome.ChromeOptions;importorg.openqa.selenium.interactions.Actions;importjava.util.List;publicclassMain{staticString msg ="您好,我有4年的工作经验,感觉和贵公司的岗位要求比较匹配,希望能进一步沟通下\n"+"本人目前是离职状态,一周内可以到岗\n"+"详情请查看我的简历,期望你的回复,谢谢您!";staticInteger num =0;publicstaticvoidmain(String[] args)throwsException{// 谷歌驱动ChromeOptions options =newChromeOptions();// 允许所有请求
        options.addArguments("--remote-allow-origins=*");WebDriver webDriver =newChromeDriver(options);// 打开登录页面
        webDriver.get("https://www.zhipin.com/web/user");// 用户需要在这两分钟内完成登录打开岗位查询页面int time =0;int timeOut =1000*60*2;while(time < timeOut){Thread.sleep(1000);
            time +=1000;System.out.println("程序将在"+(timeOut - time)/1000+"秒后开启自动沟通,请打开岗位页面");}System.out.println("自动沟通开始...");// 遍历10页 偷懒写死了for(int page =0; page <10; page++){// 获取这一页的工作岗位数量int jobNum = webDriver.findElements(By.className("job-card-wrapper")).size();for(int i =0; i < jobNum; i++){try{hi(webDriver, i);}catch(Exception e){System.out.println("报错了:"+ e.getMessage());
                    webDriver.navigate().refresh();Thread.sleep(5000);}}try{// 下一页
                webDriver.findElement(By.className("ui-icon-arrow-right")).click();}catch(Exception e){// 刷新页面重新尝试一次
                webDriver.navigate().refresh();Thread.sleep(5000);// 下一页
                webDriver.findElement(By.className("ui-icon-arrow-right")).click();}Thread.sleep(5000);}}publicstaticvoidhi(WebDriver webDriver,int index)throwsInterruptedException{// 回退页面后元素会刷新,需要重新获取一遍List<WebElement> jobList = webDriver.findElements(By.className("job-card-wrapper"));for(int i =0; i < jobList.size(); i++){if(i == index){try{// 使用Actions类进行悬浮Actions actions =newActions(webDriver);
                    actions.moveToElement(jobList.get(i)).perform();WebElement btn = jobList.get(i).findElement(By.className("start-chat-btn"));if(btn.getText().equals("继续沟通")){break;}// 点击沟通按钮
                    btn.click();
                    num++;}catch(Exception e){break;}Thread.sleep(1000);// 打招呼的消息
                webDriver.findElement(By.className("chat-input")).sendKeys(msg);// 发送
                webDriver.findElement(By.className("chat-input")).sendKeys(Keys.ENTER);System.out.println("沟通次数:"+ num);Thread.sleep(1000);// 回退
                webDriver.navigate().back();Thread.sleep(2000);break;}}}}

实现效果

1.启动main方法后会进入到登录页面,需要我们自己登录
在这里插入图片描述

2.登录后需要自己跳转到岗位搜索页面选择好搜索条件,等待2分钟后开启自动沟通
!](https://img-blog.csdnimg.cn/direct/779ab086ab7849849956acf0a306578a.png)

3.前面两个步骤需要自己操作,程序只是帮我们完成了打招呼的动作。2分钟倒计时结束后程序就会帮我们开启自动沟通了
在这里插入图片描述


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

“java使用Selenium完成boss直聘自动打招呼脚本”的评论:

还没有评论