文章目录

  • selenium 实现自动登录校网
    • 1、安装 python3.7
    • 2、安装 selenium
    • 3、安装 chrome 和驱动
    • 4、定时任务
    • 5、实现代码

selenium 实现自动登录校网

学校使用的服务器使用校园网认证登录连接网络,时不时会断网,每次断网都得跑到机房去重新登录。去年我采用 selenium + 定时指令写了一个可以自动登录的程序,但是前几天不能用了,报了个错误:

AttributeError: 'WebDriver' object has no attribute 'find_element_by_id'

检查之后,发现是 selenium 版本更新导致原来的函数不存在了,现在统一了函数格式为find_element(By.属性)。修改之后,已经可以正常使用了。

趁这个机会,我把实现的方法分享给大家。

1、安装 python3.7

selenium 只能在 python3 使用,所以先安装 python3

# 安装依赖
yum install -y openssl-devel openssl-static zlib-devel lzma tk-devel xz-devel bzip2-devel ncurses-devel gdbm-devel readline-devel sqlite-devel gcc libffi-devel# 安装 python3
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
tar -xvf Python-3.7.0.tgz
mv Python-3.7.0 /usr/local
cd /usr/local/Python-3.7.0/
./configure
make & make install# 生成软链接
ln -s /usr/local/Python-3.7.0/python /usr/bin/python3

服务器默认 python 的版本是 python2,我们需要手动修改默认的 python 版本

# 设置默认python版本
vi ~/.bash_profile
# 添加内容
alias python="/usr/bin/python3"
alias pip="/usr/local/bin/pip3"
# 重启bash
source ~/.bash_profile

2、安装 selenium

安装 python3 的自动化库 selenium,更多使用方法可以去查阅相关资料。

# 安装selenium,使用豆瓣源,并添加信任
pip install selenium -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

3、安装 chrome 和驱动

selenium 需要浏览器驱动,这里以 chrome 驱动为例

首先,安装 chrome,下面提供两种方法,根据自己的需要会进行选择

# 方法一:输入命令
curl https://intoli.com/install-google-chrome.sh | bash# 方法二:
vim /etc/yum.repos.d/google-chrome.repo
# 添加信息
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-sl.google.com/linux/linux_signing_key.pub
# 查询可用版本(实时更新)
yum list | grep chrome
yum -y install 谷歌浏览器版本 --nogpgcheck# 测试安装是否成功
google-chrome --headless --disable-gpu --screenshot https://www.baidu.com

其次,安装 chrome dirver,一定要确保安装的 chrome dirver 与安装的 chrome 版本是一致的

# 首先查看 chrome 的版本
google-chrome --version
# 访问:https://chromedriver.storage.googleapis.com/index.html,下载对应的内核驱动
# 注意:这里浏览器的版本与浏览器驱动版本的匹配,不能照抄
wget https://chromedriver.storage.googleapis.com/浏览器版本/chromedriver_linux64.zip
unzip chromedriver_linux64.zip

4、定时任务

定时任务的实现,使用 crontab -e 指令进入编辑界面后,每一行都代表一项任务,每行的每个字段代表一项设置,对应的设置如下:minute hour day month week command

输入自己要执行的定时任务内容,我需要则要输入的内容是:

1 6,12,18 * * * python ~/daily/login.py

5、实现代码

编写代码时,不能照搬,打开对应的网站,打开开发者工具,对照编写。

# -*- coding:utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By# 如果设置定时任务的是 root,则需要这段代码,关闭沙盒,具体自行查阅相关资料
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--disable-gpu')
options.add_argument('--no-sandbox')# 浏览器驱动的路径要设置成绝对路径,否则有一定几率报错
driver = webdriver.Chrome(executable_path="/root/daily/chromedriver", chrome_options=options)
driver.get("校园网登录地址")
# 网页源代码
# print(driver.page_source)
# 从浏览器的地址栏中读取当前URL
print(driver.current_url)
# 从浏览器中读取当前页面标题
print(driver.title)print('开始登录')
driver.find_element(By.ID, 'VipDefaultAccount').send_keys('账号')
driver.find_element(By.ID, 'VipDefaultPassword').send_keys('密码')
driver.find_element(By.ID, 'login').click()
print('登录成功')driver.quit()

selenium 实现自动登录校网(网页版)相关推荐

  1. selenium自动登录知网下载论文

    自动登录知网下载期刊论文 我想下载知网上所有关于深度学习推荐系统的论文期刊,脚本实现了,写这篇博客记录自己遇到的坑 2自动打开网页 我们通过python selenium库可以实现浏览器自动控制,首先 ...

  2. python自动输入账号密码_Python如何基于selenium实现自动登录博客园

    这篇文章主要介绍了Python如何基于selenium实现自动登录博客园,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 需要做的准备: 本文章是使用 ...

  3. TOM企业邮箱登录入口在哪里?分享企业邮箱登录入口手机网页版

    企业邮箱像个人邮箱一样,可以从很多入口登录,例如网页端.客户端.APP等.今天主要跟大家介绍TOM企业邮箱手机网页版的登录入口. 在什么情况下会用到手机登录企业邮箱呢? 出差在外,但同事说老板发了邮件 ...

  4. 去哪儿网网页版机票数据

    目录 携程手机版国内机票数据 携程手机版国际机票数据 携程网页版国内机票数据 携程网页版国际机票数据 去哪儿网手机版机票数据 去哪儿网网页版机票数据 携程手机版机票数据添加代理 去哪儿网网页版机票数据 ...

  5. 去哪儿网网页版机票数据添加代理

    目录 携程手机版国内机票数据 携程手机版国际机票数据 携程网页版国内机票数据 携程网页版国际机票数据 去哪儿网手机版机票数据 去哪儿网网页版机票数据 携程手机版机票数据添加代理 去哪儿网网页版机票数据 ...

  6. 利用selenium模拟自动登录链家、贝壳、安居客等网站(超级实用,推荐收藏!)

    大家好, 今天跟大家分享一个利用selenium模拟自动登录王连某家.an聚客等网站. 文章内容超级实用,尽快在小本本上记录下来哟. 特别说明,以下代码仅用于交流学习,不做其他商业用途,切记切记! 上 ...

  7. python基础教程:Python如何基于selenium实现自动登录博客园

    这篇文章主要介绍了Python如何基于selenium实现自动登录博客园,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 需要做的准备: 本文章是使用 ...

  8. python已打开页面获取信息_python+selenium实现自动登录网页获取信息(一)

    我用的是一个教师继续教育的网站,进行演示和模拟,网站:http://cas.study.yanxiu.jsyxsq.com/auth/login?service=http%3A%2F%2Fwww.17 ...

  9. [Python爬虫] Selenium实现自动登录163邮箱和Locating Elements介绍

    前三篇文章介绍了安装过程和通过Selenium实现访问Firefox浏览器并自动搜索"Eastmount"关键字及截图的功能.而这篇文章主要简单介绍如何实现自动登录163邮箱,同时 ...

最新文章

  1. pytorch笔记:torch.nn.Threshold
  2. android开发,静音录制视频,在一般清晰度的前提下保证文件大小越小越好
  3. css初始化_利用CSS变量实现炫酷的悬浮效果
  4. [转]Android Activity和Intent机制学习笔记
  5. Java 8.if语句
  6. Veeam ONE v10.0.2.1094 安装教程+许可证
  7. 转:Kafka、RabbitMQ、RocketMQ消息中间件的对比 —— 消息发送性能 (阿里中间件团队博客)...
  8. hg255d php,HG255D刷潘多拉共享惠普1020打印机的问题汇总
  9. echarts-map的使用
  10. 计算机中丢失amtlib.dll如何办,amtlib.dll文件找不到怎么办-amtlib.dll文件找不到的解决办法...
  11. revel + swagger 文档也能互动啦
  12. 内存的分页管理(在4G内存下)
  13. Python爬虫:网易云音乐评论爬取
  14. 骗子、假先知们一夜暴富背后:区块链是回归互联网本来意义的唯一希望|深度
  15. ubuntu下打开nsg2的命令
  16. 手把手教你在Linux上上搭建BitTorrent服务器
  17. 14个同陌路人匿名聊天在线工具排除你的寂寞和无聊
  18. 面试题:堆、栈、队列的区别以及使用场景
  19. visio的使用技巧
  20. DQL数据查询语言--select的巧妙用法

热门文章

  1. html5,cxt.arc(100,100,30,0,Math.PI*2,true);
  2. mtk7620(斐讯K2)openwrt 18.06.1 固件 硬改 华邦winbond的W25Q256FV 32M spi flash
  3. 信息安全服务资质认证简介
  4. RTL8189FTV驱动交叉编译
  5. BZOJ 1651: [Usaco2006 Feb]Stall Reservations 专用牛棚
  6. 地铁传送网迈进OTN新时代
  7. 切蛋糕 爱丽丝梦游仙境,来到了疯帽子的茶会。茶会上有n只兔子,疯帽子作为绅士,今天专门为爱丽丝和兔子们准备了一个圆形的慕斯蛋糕,疯帽子要把这块蛋糕平均分给爱丽丝和兔子们(疯帽子自己不吃蛋糕)
  8. 三方对接时常用的加密方式
  9. excel表的单元格被锁定保护,单元格无法选择,忘记了解锁密码,解决办法
  10. FME及myfme最新安装包下载地址