Selenium的使用注意点

最近学校图书馆的到座率很高,预约的时候很有可能就预约不到自己想要的座位了。

作为一个“懒人”,能用自动化代替的东西,为什么还要亲自动手呢?

唠叨两句:首先,selenium真是个好东西!(还不是因为懒得研究金智系统那套低端的前端加密算法🙃)

如果你有兴趣,不妨可以试试:这边汇总了全国所有使用这套系统的身份认证地址。

也就是说,使用selenium进行操作,实际上只是半自动化操作(直接模拟人类的行为),而不是全自动操作。可能对于新手来说,使用selenium还可以规避很多将人类操作逻辑转化成代码逻辑的困难,不过,使用selenium再一定程度上也可以更“像”真人的操作,在有些时候,相比于纯使用代码执行请求,也许有意想不到的优势。

此文仅记录Linux下selenium的部署过程,其他内容不赘述。

1、安装chrome

用下面的命令安装Google Chrome

1
yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

也可以先下载至本地,然后安装

1
wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
1
yum install ./google-chrome-stable_current_x86_64.rpm

安装必要的库

1
yum install mesa-libOSMesa-devel gnu-free-sans-fonts wqy-zenhei-fonts

2、安装 chromedriver(chromedriver的版本号与Chrome基本一致即可)

下载chromedriver安装包

chrome官网
1
wget http://npm.taobao.org/mirrors/chromedriver/84.0.4147.30/chromedriver_linux64.zip
淘宝源(推荐)
1
wget http://http://npm.taobao.org/mirrors/chromedriver/84.0.4147.30/chromedriver_linux64.zip

将下载的文件解压

1
unzip chromedriver_linux64.zip

CentOS默认没有附带解压工具,可以使用以下命令进行安装

1
yum install -y unzip zip

移动解压后的文件到如下位置

1
mv chromedriver /usr/bin/

给予执行权限

1
chmod +x /usr/bin/chromedriver

3、测试是否成功

1
2
3
4
5
6
7
8
9
10
11
12
13
14
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_argument('--headless') # 16年之后,chrome给出的解决办法,抢了PhantomJS饭碗
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--no-sandbox') # root用户不加这条会无法运行

driver = webdriver.Chrome(chrome_options=chrome_options)
for i in range(6):
driver.get("https://pwner.cn")
print(driver.title)
driver.close()
# 正常的输出就是6个"Pwner's Blog – 能全力以赴不尽力而为"

本文标题:Selenium的使用注意点

文章作者:Pwner

发布时间:2020年08月04日 - 17:08

最后更新:2020年08月23日 - 11:08

原始链接:https://pwner.cn/posts/a8c203fd.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

Buy me a cup of coffee.