本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2024-11(2)

python+selenium 30秒内自动完成论坛每日签到

发布于2021-05-30 11:26     阅读(1713)     评论(0)     点赞(1)     收藏(3)


最终项目目标

在网上学习技术时,我们经常会加入各种论坛,论坛通常会设置每日签到来给予积分等奖励。出于偷懒的目的,编写一个python脚本实现论坛自动签到(以鱼C论坛为例)

目标分解

1.安装selenium

直接使用pip安装selenium

pip install selenium

2.下载chromedriver

注意 :chromedriver的版本要与你使用的chrome版本对应
并且把下载下来的chromedriver.exe复制到python文件夹下的scripts文件夹中(可以放在别的文件夹,但是存放地址要记住,后续会用到该地址)
chromedriver下载地址:
http://chromedriver.storage.googleapis.com/index.html或者http://npm.taobao.org/mirrors/chromedriver/(可用)

例如,我的chrome的版本是 90.0.4430.212(正式版本) (64 位),就要找与之对应的chromedriver版本
在这里插入图片描述
在这里插入图片描述

3.例程-自动访问百度输入关键词并搜索

#运行这段代码,会自动打开Chrome浏览器,然后访问百度并输入关键词搜索。

#coding=utf-8
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
 
driver = webdriver.Chrome('C:/Users/LU/AppData/Local/Programs/Python/Python37-32/Scripts/chromedriver.exe')#chromedriver.exe的位置
driver.get("http://www.baidu.com")
driver.maximize_window() #浏览器窗口最大化

#输入框输入内容
elem = driver.find_element_by_id("kw")
elem.send_keys("CSDN")
time.sleep(3)#延时3秒
 

 
#输入空格+"博客"
elem.send_keys(Keys.SPACE)
time.sleep(3)
elem.send_keys("博客")
time.sleep(3)
 
#ctrl+a 全选输入框内容
elem.send_keys(Keys.CONTROL,'a')
time.sleep(3)
 
#ctrl+x 剪切输入框内容
elem.send_keys(Keys.CONTROL,'x')
time.sleep(3)
 
#输入框重新输入搜索
elem.send_keys(Keys.CONTROL,'v')
time.sleep(3)
 
#通过回车键替代点击操作
driver.find_element_by_id("su").send_keys(Keys.ENTER)
time.sleep(10)
 
driver.quit()#关闭

Selenium对网页的控制是基于各种前端元素的,在使用过程中,对于元素的定位是基础,只有准确抓取到对应元素才能进行后续的自动化控制;定位的方式有很多,具体可以参考Selenium2+python自动化45-18种定位方法(find_elements) 史上最全!Selenium元素定位的30种方式

driver.find_element_by_css_selector(".s_ipt").send_keys("selenium")
driver.find_element_by_css_selector("#su").click()
#如果有css基础的话就应该可以看懂,一般class是用.标记,id是用#标记,标签名直接写具体标签名就好了。

4.定位论坛的元素

如下图,进入鱼C论坛的控制台,可以观察到账号输入处对应的ID为ls_username,同理可以定位密码输入处、登录按钮、签到按钮等元素
在这里插入图片描述

论坛自动签到的源代码

'''
https://fishc.com.cn论坛自动签到领鱼币
'''
from selenium import webdriver
import time

browser = webdriver.Chrome('C:/Users/LU/AppData/Local/Programs/Python/Python37-32/Scripts/chromedriver.exe')#chromedriver.exe的位置,看自己把该文件放在了哪里

browser.maximize_window()   #浏览器窗口最大化
 
browser.get('https://fishc.com.cn')
time.sleep(3)#延时3秒

browser.find_element_by_css_selector('#ls_username').send_keys('XXXX')#输入账号,使用自己的账号替换XXXX
time.sleep(3)

browser.find_element_by_css_selector('#ls_password').send_keys('YYYY')#输入密码,使用自己的密码替换YYYY
time.sleep(3)

browser.find_element_by_css_selector('.pn.vm').click()#点击登录按钮
time.sleep(3)

browser.find_element_by_css_selector('#mn_Nac60').click()#点击标题栏签到
time.sleep(3)
browser.find_element_by_css_selector('#JD_sign').click()#点击签到
time.sleep(3)

browser.find_element_by_css_selector('#extcreditmenu').click()#点击积分,查看积分
time.sleep(3)

browser.find_element_by_css_selector('#mn_forum').click()#点击导读按钮
time.sleep(3)
browser.quit()#关闭

作者最近在参加新星计划,既然看到这里,麻烦点赞、评论、收藏、转发支持一下作者

原文链接:https://blog.csdn.net/weixin_44331401/article/details/117307172




所属网站分类: 技术文章 > 博客

作者:Hggh

链接:http://www.qianduanheidong.com/blog/article/115955/b885bccdfea28019cfb4/

来源:前端黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

1 0
收藏该文
已收藏

评论内容:(最多支持255个字符)