• 还能这样偷懒?用Python实现网站自动签到脚本


    本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

    以下文章来自于西红柿炒番茄,作者:西红柿炒番茄715

    首先你需要准备一个谷歌浏览器

    然后下载谷歌浏览器相应版本的chromedriver

    下载地址:

    http://chromedriver.storage.googleapis.com/index.html

    相关的版本可以在谷歌根目录第一个文件夹看到

     

    下载相应的chromedriver后

    将其放到安装根目录

     

    然后我们进入python阶段

    首先需要下载selenium包

    在Anaconda Prompt中直接

    pip install selenium

    然后在python中,首先导入该模块

    from selenium import webdriver
    import os
    import time

    定位chromedriver位置

    chromedriver = "C:Program Files (x86)GoogleChromeApplicationchromedriver"
    os.environ["webdriver.chrome.driver"] = chromedriver

    模拟打开浏览器

    driver = webdriver.Chrome(chromedriver)  
    driver.get("https://bbs.hcbbs.com/")  
    driver.maximize_window()  

    然后开始模拟按键

    以海川论坛为例

    我们以用户名和密码登录方式

     

    首先点击F12

    呼出那一大堆看不懂的东西

     

    然后在登录那个地方右键

    点击“检查”

    右侧的代码就会定位相应的控制命令

     

    对着这一行代码

    右键-copy-copyXpath

     

    这样就获得了相应的控件位置

    找到控件并click

    driver.find_element_by_xpath('//*[@id="lsform"]/div/div[1]/p[1]/a').click()

    进入登录页面后

    用相同方法找到用户名和密码输入框的控制代码

     

    找到控件并输入

    driver.find_element_by_xpath('//*[@id="username"]').send_keys(myuername1)
    driver.find_element_by_xpath('//*[@id="password"]').send_keys(mypassword1)

    点击登录并点击签到

    driver.find_element_by_xpath('//*[@id="abtn"]').click() #登录
    time.sleep(1)
    driver.find_element_by_xpath('//*[@id="fx_checkin_b"]').click() #签到

    完整代码如下

    from selenium import webdriver
    import os
    import time
    
    myuername1='********'
    mypassword1='**********'
    
    chromedriver = "C:Program Files (x86)GoogleChromeApplicationchromedriver"  
    os.environ["webdriver.chrome.driver"] = chromedriver
    driver = webdriver.Chrome(chromedriver)  
    driver.get("https://bbs.hcbbs.com/") 
    driver.maximize_window()   
    time.sleep(2)
    print('111')
    driver.find_element_by_xpath('//*[@id="lsform"]/div/div[1]/p[1]/a').click() 
    driver.find_element_by_xpath('//*[@id="username"]').send_keys(myuername1)
    driver.find_element_by_xpath('//*[@id="password"]').send_keys(mypassword1)
    driver.find_element_by_xpath('//*[@id="abtn"]').click() 
    time.sleep(1)
    driver.find_element_by_xpath('//*[@id="fx_checkin_b"]').click() 

    是不是很方便

    把需要签到的网站都设置上

    每天早上来了点一下

    然后泡杯茶

    就签到完了~

  • 相关阅读:
    高德地图API1.4.15较1.4.12的marker属性取值发生变化
    Cesium加载地图提示RangeError:Invalid of array List
    layui分页功能使用——点页码再查询
    设置layui的自定义样式
    页面引入layui.js后提示layui未定义
    SQL语句出现sql关键字
    vs2017 vs2019配置sqlite3连接引擎(驱动)指南(二)vs2019续集
    vs2017 vs2019配置sqlite3连接引擎(驱动)指南(一)vs2019篇
    Qt C++ QDataStream和QBuffer
    Qt C++不规则窗口
  • 原文地址:https://www.cnblogs.com/hhh188764/p/14089319.html
Copyright © 2020-2023  润新知