嗨喽~大家好呀,这里是魔王呐 ❤ ~!
python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取
环境使用:
-
Python 3.10 解释器
-
Pycharm 编辑器
模块使用:
-
from selenium import webdriver —> 自动测试模块 pip install selenium==3.141.0 <指定版本安装>
谷歌驱动下载地址: https://googlechromelabs.github.io/chrome-for-testing/#stable
selenium: 自动化测试模块
模拟人的行为去操作浏览器 <网页自动化操作>
搭配: 对应浏览器和浏览器驱动去使用
selenium -> 驱动 -> 浏览器
我选择是谷歌浏览器:
-
驱动如何下载安装:
-
确定浏览器版本
-
驱动下载地址找对应版本
大版本一样, 小版本最相近就可以了
-
解压文件 chromedriver.exe 文件
- 放到python安装目录下面
-
答题流程操作:
-
打开浏览器
-
访问答题网页
-
读题进行答案选择
-
提交试卷
答题网站: 首先得有题库
-
单选
-
多选
-
随机抽取题目
使用selenium获取数据的时候: <既没有报错, 又没有内容>
-
通过元素去定位内容
-
要么定位元素语法问题
-
要么元素没有加载出来
-
代码展示
导入模块
from selenium import webdriver
打开浏览器
driver = webdriver.Chrome()
访问网站
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
url = 'https://www.jsyks.com/kmy-mnks'
driver.get(url)
延时等待
driver.implicitly_wait(10) # 不是死等 time.sleep(10) 死等
“”“通过元素定位: 获取答案 / 进行答题操作”“”
lis = driver.find_elements_by_css_selector('.Content li') # 通过 CSS 选择器查找元素
for循环遍历
for li in lis:
获取答案内容
answer = li.get_attribute('k')
判断答案内容进行调整修改
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
if answer == 'E':
answer = '错误'
elif answer == 'R':
answer = '正确'
获取选项 -> 答案的内容和选择的进行对比
bs = li.find_elements_by_css_selector('b')
遍历选项
for b in bs:
获取选项内容 R表示正确 E表示错误
choose = b.text
判断选项长度
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
if len(choose) > 2: # 长度大于2就是选择题
choose = choose[0] # 索引位置取值提取第一个元素
判断答案和选项是否一致
if answer == choose:
b.click() # 点击选择答案
最后提交试卷
driver.find_element_by_css_selector('.btnJJ').click()
尾语
最后感谢你观看我的文章呐~本次航班到这里就结束啦 🛬
希望本篇文章有对你带来帮助 🎉,有学习到一点知识~
躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。