用Python Selenium实现珍爱网上一键自动打招呼和群发邮件

2019-01-14 08:09:17 / 打印

之前由空余时间写了个珍爱网的一键打招呼和群发邮件程序,功能就是在web端定时自动执行打招呼或群发邮件,内容可以是你每次自定义的文字,每次可发对象至少一千人,供你找对象省时省力。下面就是开发步骤了(首先你得有个珍爱网会员账号,可以找我购买,全网最低价):

一、下载安装selenium,谷歌浏览器驱动,注意要和安装的谷歌浏览器版本号范围匹配        二、开写代码,这里登录有两种方式,其实发邮件和打招呼也是两种方法,一种是利用cookies登录后通过接口传参然后进行和后端的交互,一种是sleep半分钟手动输入账号密码验证码,利用selenium所见即所得的思想进行人的行为模拟进行点击操作,前者有点麻烦以后再叙。后者通过这一行就可以打开首页了:

driver.get(‘’)        三、进来之后,首先这些搜索的条件是你以前预置好的,以后每次进来时它都不会被清除,点击搜索就出结果了。然后有没有觉得一屏展示的人数就十几个人有点少呢,这个页面是ajax加载的,所以需要手写js往下滑动几下,加载出更多人物,以便我们发邮件:

WebDriverWait(driver,10,1).until(EC.presence_of_element_located((By.XPATH,‘//[@id=”jcZAHeader”]/section[2]/div/menu/ul/li[3]/a’))).click()driver.execute_script(‘window.scrollTo(0,);’)time.sleep(2)driver.execute_script(‘window.scrollTo(0,);’)time.sleep(2)driver.execute_script(‘window.scrollTo(0,);’)

四、然后就开始打招呼或发邮件啦,首先定位,用谷歌浏览器的xpath插件,很快定位出来“打招呼”或点击图片进入对话页发邮件,跳转后的下一步就是切换标签页:

WebDriverWait(driver,10,1).until(EC.presence_of_element_located((By.XPATH, ‘/html/body/div[3]/div[‘+str(i)+’]/div[1]/a[1]/img’))).click()driver.switch_to_window(driver.window_handles[1])        五、第一次有个提醒被骗警告,我使用try处理的,有更好的方法欢迎告知谢谢。

try:     WebDriverWait(driver,2,1).until(EC.visibility_of_element_located((By.XPATH,’//*[@id=”safeDialog”]/div/div[1]/div/p[1]’)))

六、然后就是输入我们自定义的内容了:

WebDriverWait(driver,10,1).until(EC.visibility_of_element_located((By.XPATH, ‘//*[@id=”mailcontent”]’))).send_keys(j)        七、标签页关闭切回搜索页并下拉滚动条:

driver.switch_to_window(driver.window_handles[0])driver.execute_script(‘window.scrollTo(0,);’)       至此完整的程序就可以循环执行了,是不是很简单。另为了方便没有python环境的人使用程序,我开发了windows上的可视化软件,利用pyqt5。长这个样子(待优化),可只打招呼、只发邮件、或都做。欲知步骤详情,请听下回分解。        后台回复“珍爱”即可获取本人写的源码在GitHub上。        PS:这是本人第一篇技术文,如有语言描述或样式不清晰的地方,敬请谅解,谢谢。