通过selenium提取的cookie转换一下格式就可以直接调用 python新人 。
selenium的模拟浏览器功能虽然强大,但是慢,而且多开容易崩溃。所以用模拟登陆取得cookie,然后传递给requests。requests带cookies访问站点受限较少。
selenium---快速跳转到指定元素 web自动化中经常遇到页面元素没有在视图范围内,需要通过滚动条才能让其出现。
目录
安装 selenium 第三方库
下载浏览器驱动:
需要把这些浏览器驱动放入 Python 应用目录里面的 Script 文件夹里面
① 200 多本 Python 电子书(和经典的书籍)应该有
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且可靠的练手项目及源码)
④ Python基础入门、爬虫、网络开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
私信我01即可获取大量Python学习资源
每次当selenium启动chrome浏览器的时候,chrome浏览器很干净,没有插件、没有收藏、没有 历史 记录,这是因为selenium在启动chrome时为了保证最快的运行效率,启动了一个裸浏览器,这就是为什么需要配置参数的原因,但是有些时候我们需要的不仅是一个裸浏览器
selenium启动配置参数接收是ChromeOptions类,创建方式如下 :
创建了ChromeOptions类之后就是添加参数,添加参数有几个特定的方法,分别对应添加不同类型的配置项目
常用配置参数:
其他配置项目参数
制作无头浏览器
规避检测
门户网站检测如果是selenium请求的,有可能会拒绝访问。这也是一种反爬机制
实现规避检测
注意:这里只能使用 options 添加
如果有其他的模块要添加,注意要分开添加
元素定位语法
常用语法:
在 element 变成 elements 时,返回符合条件的所有元素组成的数组
控制浏览器大小
浏览器后退,前进
刷新
在搜索框模拟回车 *** 作
在 WebDriver 中, 将这些关于鼠标 *** 作的方法封装在 ActionChains 类提供
ActionChains 类提供了鼠标 *** 作的常用方法:
语法:
想使用selenium中的键盘事件,首先我们必须导入Keys包,需要注意的是包名称Keys首字母需要大写。Keys类中提供了几乎所有的键盘事件包括组合按键如 Ctrl+A、 Ctrl+C 等
使用语法:
其他事件可以通过查看源码获取
显式等待使WebdDriver等待某个条件成立时继续执行,否则在达到最大时长时抛出超时异常
实例:
WebDriverWait类是由WebDirver 提供的等待方法。在设置时间内,默认每隔一段时间检测一次当前页面元素是否存在,如果超过设置时间检测不到则抛出异常
语法:
参数:
如果某些元素不是立即可用的,隐式等待是告诉WebDriver去等待一定的时间后去查找元素。 默认等待时间是0秒,一旦设置该值,隐式等待是设置该WebDriver的实例的生命周期
案例
语法:
alert 里面的方法
WebDriver *** 作cookie的方法:
参考链接: >
请参考下面的例子:
#coding=utf-8
from selenium import webdriver
import time
driver = webdriverFirefox()
driverget(">
本章节主要内容:
switch_to适用场景:
处理JSd框
切换frame
切换浏览器窗口
Switch_to处理JSd框
JavaScript简称JS,应用于HTML网页,通过 *** 纵网页窗口及网页元素,从而实现动态效果。
JSd框类型:警告框alert、确认框confirm、提示框prompt
浏览器窗口中如果有JavaScript的d出框,需要通过switch_to语句处理。
相关方法:
Switch_to切换窗口
浏览器中有多个窗口时,如果想切换到其他窗口 *** 作,需要调用switch_to方法
切换到目标窗口:
相关方法:
示例:
Switch_to切换frame
如果元素在html的frame或iframe中,则无法直接定位到元素。需要先切换到该frame中,再进行定位及其他 *** 作。
相关方法:
一般来说我们与页面的交互可以使用WebElement的方法来进行点击等 *** 作。但是有时候我们需要一些更复杂的动作,就需要用到我们的Action Chains了。
通过action对象模拟鼠标 *** 作,如双击,右击,拖拽,悬停等 *** 作:
普通键:
有名按键:
无名按键:a-z,0-9
修饰键:
修饰键单独使用没有意义,一般和别的按键配合使用。
Actions *** 作:
使用示例
输入大写或按键上方的字符:
JS,JavaScript的简称,广泛用于HTML网页,通过 *** 纵网页窗口及网页元素,从而实现动态效果。
webdriver无法完成的 *** 作,可以由JS配合完成。
示例:
参考JS:
获取标题:documenttitle
d出提示框:alert('我是一个d框');
改变元素属性:q=documentgetElementById('kw');qstyledisplay='block';
Selenium-JS处理滚动条
通过js实现滚动条拖动效果:
移动元素到窗口顶部:
移动元素到窗口底部:
窗口移动指定距离:
移动窗口到某位置:
input标签上传:借用input元素的sendkeys方法实现
示例:
非input标签上传---借用其他工具如autoIt:
• 用于Windows GUI自动化 *** 作
• 通过它可以组合使用模拟键击、鼠标移动和窗口/控件 *** 作等来实现自动化任务。
• 它使用类似BASIC的脚本语言。
• 可以通过转换工具把脚本转换为exe文件
应用程序从安全考虑,都在登录或某 *** 作节点使用验证码。
验证码是一种区分用户是计算机还是人的公共全自动程序。
自动化时验证码处理方式:
cookie的 *** 作:
Selenium-截图 *** 作
截图:
以上就是关于selenium跳转传递cookie全部的内容,包括:selenium跳转传递cookie、关于Python的Selenium框架全解,一篇完整的说明书、python selenium firefox 怎么加入cookies等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)