| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> Python使用selenium模块模拟登录12306 -> 正文阅读 |
|
[开发测试]Python使用selenium模块模拟登录12306 |
selenium模块概述 selenium模块是基于浏览器自动化的一个模块。换句话说使用selenium可以让浏览器根据自己写的代码自动运行。 相应的语法 ·编写基于浏览器自动化的操作代码 ·?发起请求:get(url) ·?标签定位:find系列的方法 ·?标签交互:send_ keys( 'xxx') ·?执行js程序:excute _script( 'jsCode ')一前进,后退:back() ,forward() ·?关闭浏览器:quit() 这里就不赘述selenium模块的安装了。 登录的具体流程 总体思路: ·?使用selenium向12306网站发起请求,打开登陆页面 ·?根据标签的id值定位到用户账号框、用户密码框以及登录按钮 ·?填入账号密码后,点击登录按钮 ·?进行滑块验证 ·?登陆成功 # 根据id获取用户账号输入框、密码输入框 username_tag = driver.find_element_by_id('J-userName') password_tag = driver.find_element_by_id('J-password') # 填入自己的账号和密码 username_tag.send_keys('xxxxxxx') time.sleep(1) password_tag.send_keys('xxxxxxxx') # 根据id获取登录按钮 login_btn = driver.find_element_by_id('J-login') # 点击登录按钮 login_btn.click() 再点击登录按钮后,12306服务器会弹出滑块验证的窗口,需要我们使用代码模拟浏览器点击滑动完成验证。这里我们使用动作链来完成一系列操作:点击并长按,向指定方向拖拽一定的距离。 动作链使用 这里我们在介绍下动作链的使用,使用动作链非常简单。 1、导入相应的模块from selenium.webdriver import ActionChains 2、用构造方法获取动作链对象 # 定义动作链,点击并拖拽
注意:想让动作链执行相应的操作必须调用.perform()方法。 完成验证码滑块的拖动 # 定义动作链,点击并拖拽
规避检测 由于12306会识别使用selenium模块的浏览器操作,为了规避相应的检测,我们还必须添加相应的代码。
完整代码
|
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 0:37:13- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |