python + selenium 实现 问卷星自动抢讲座
文章目录
python + selenium 实现 问卷星自动抢讲座一、代码二、解析1、安装selenium库1)PyCharm 编辑器2)IDLE
2、Selenium 简介及使用3、搞定收工
一、代码
from selenium
import webdriver
from selenium
.webdriver
.common
.by
import By
from selenium
.webdriver
.support
.ui
import WebDriverWait
from selenium
.webdriver
.support
import expected_conditions
as EC
def autoFillSpace(username
,sid
,dept
,myclass
,phone
):
chromeOptions
= webdriver
.ChromeOptions
()
browser
= webdriver
.Chrome
(chrome_options
=chromeOptions
)
wait
= WebDriverWait
(browser
, 3)
browser
.get
(url
)
usernameIn
= wait
.until
(EC
.presence_of_element_located
((By
.XPATH
, '//*[@id="q1"]')))
usernameIn
.clear
()
usernameIn
.send_keys
(username
)
sidIn
= wait
.until
(EC
.presence_of_element_located
((By
.XPATH
, '//*[@id="q2"]')))
sidIn
.clear
()
sidIn
.send_keys
(sid
)
deptIn
= wait
.until
(EC
.presence_of_element_located
((By
.XPATH
, '//*[@id="q3"]')))
deptIn
.clear
()
deptIn
.send_keys
(dept
)
myclassIn
= wait
.until
(EC
.presence_of_element_located
((By
.XPATH
, '//*[@id="q4"]')))
myclassIn
.clear
()
myclassIn
.send_keys
(myclass
)
phoneIn
= wait
.until
(EC
.presence_of_element_located
((By
.XPATH
, '//*[@id="q5"]')))
phoneIn
.clear
()
phoneIn
.send_keys
(phone
)
submit
= wait
.until
(EC
.presence_of_element_located
((By
.XPATH
, '//*[@id="ctlNext"]')))
submit
.click
()
if __name__
== '__main__':
url
='https://www.wjx.top/m/94513751.aspx'
username
= '不可能打工'
sid
= '20201020'
dept
= 'xx学院'
myclass
= '自动化3班'
phone
= '13000000000'
autoFillSpace
(username
,sid
,dept
,myclass
,phone
)
二、解析
1、安装selenium库
不同的小伙伴可能使用不同的编辑器,下面对常见的两种编辑器进行库的安装讲解
1)PyCharm 编辑器
将上面的代码拷贝到你的编辑器里,有 selenium 的地方会爆红,就是因为本地没有安装这个包,下面我跟大家说下如果进行安装。
打开“文件 --> 设置”:
查看本地是否有 selenium 包,如果有,跳到下一步,如果没有,点击右上方 “绿色的 + 号,然后搜索这个包,点击 install 安装:
2)IDLE
IDLE 是 Python 所内置的开发与学习环境。使用 IDLE 开发的小伙伴,安装 selenium 包 的方式与上面用 PyCharm 不太一样,具体方式如下:
键盘按 ” win + R “ ,输入cmd ,进行命令行窗口:
在命令行窗口用命令 pip list查看你当前已经安装的包,看看是否有 selenium 包,
C:\Users\username
>pip list
Package Version
---------------------------------- ----------
selenium 3.141.0
如果没有的话,通过下面命令安装
pip install selenium
2、Selenium 简介及使用
Selenium 是 web 自动化测试工具集,Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括 IE(7, 8, 9, 10, 11),Safari,Google Chrome,Opera 等。
Selenium3.x 调用浏览器必须有一个 webdriver 驱动文件,
我使用的 Chrome 浏览器,下面以 Chrome 浏览器为例。
先进入到 ”帮助 -> 关于“ 查看浏览器版本:
然后接下来需要安装Chrome 驱动文件,进入到谷歌浏览器驱动的下载网址 http://chromedriver.storage.googleapis.com/index.html
找到对应版本的驱动文件:
(大版本对应,最后的小版本号可以不对应,没什么影响的)
然后选择你当前的操作系统,下载压缩文件并解压:
(注:win64系统对win32向下兼容,Windows系统直接下载 chromedriver_win32.zip 即可)
解压后可以看到一个 .exe 应用程序,将这个应用程序文件拷贝并粘贴到以下两个地方:
(1)C:\Program Files (x86)\Google\Chrome\Application
(2)python 的安装目录,我这里的路径是:
注:
如果不安装相应版本的驱动文件,待会运行程序有可能会报错:”selenium.common.exceptions.WebDriverException: Message: ‘chromedriver’“。
主要就是因为 selenium 模拟的客户端对浏览器的操作,但相应浏览器的驱动版本不匹配导致的。
3、搞定收工
到这里,项目就可以成功运行了,不会报错了,舒服舒服,终于可以快快乐乐的抢到讲座了!!!