首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

12306模拟登录

话不多说直接上代码 # 编写时间2021/6/8;19:57 # 编写 :刘钰琢 from selenium import webdriver import time from chaojiying...中间有很多插曲,比如说 找不到验证码区域 刚开始按照老师那个方法就是线截取全屏,之后在寻找那个验证码区域在进行二次截取 后来发现不太行,怎么该就是在左边左上角那一片区域 就看评论发现竟然可以直接截取验证码哪一个区域...,然后我就在出阿宝工具里边找到验证码区域一个xpath位置 对他直接进行截取 code_img=bor.find_element_by_xpath('/html/body/div[2]/div[2]/...这一个代码既可以得到他位置也可以直接通过他进行截屏处理,真的是太nice,就像下边一样 那么接下来填写数据也就是顺理成章事情了,简直不要太简单 就是最后12306可能是发现用selenium...登录会给一个那个滑块去验证

89630
您找到你想要的搜索结果了吗?
是的
没有找到

python3 爬虫学习:自动给你心上人微博点赞(二)

selenium定位元素八大方法: 在开始登录前,咱们得先学习一selenium定位元素方法,不然找不到元素是没办法完成自动操作 <!...('test') #我们对比上面的html代码可以知道,id属性为‘test’只有一个代码块,就是 find_element_by_name() 通过name属性来查找元素..."]/div/div[3]/div[2]/div/input) 可直接右键选中需要查找元素,选择copy xpath即可复制到该元素绝对路径 ?...("input[id="loginname"]") 更多find_element_by_css_selector()方法使用可点击此处查看 selenium定位复数方法: find_elements_by_id...,只是在element后加了s,是element复数形式,可以查找满足条件所有元素。

63520

python3 爬虫学习:自动给你心上人微博点赞(二)

selenium定位元素八大方法: 在开始登录前,咱们得先学习一selenium定位元素方法,不然找不到元素是没办法完成自动操作 <!...('test') #我们对比上面的html代码可以知道,id属性为‘test’只有一个代码块,就是 2. find_element_by_name() 通过name...(//*[@id="pl_login_form"]/div/div[3]/div[2]/div/input) 可直接右键选中需要查找元素,选择copy xpath即可复制到该元素绝对路径 image.png..."]") 更多find_element_by_css_selector()使用方法可点击此处查看 selenium定位复数方法: find_elements_by_id() find_elements_by_name...自动登录微博 咱们先来定位微博登录相关元素位置 用户名输入框 image.png 密码输入框 image.png 登录按钮 image.png from selenium import webdriver

99530

Web 自动化实战经验硬核总结

a[title] 匹配属性有titlea标签 属性选择器—匹配单词边界 a[title~=“hello”] 匹配title包含helloa标签 后代选择器(空格表示),可选取当前层级任意层级元素...匹配最后一个标签 3. xpath 与 css 对比 4. xpath 与 css 更详细示例对比 直接子元素 XPATH 中直接子元素是使用“/”定义,而在 CSS 上,它是使用“>”定义...第二个子元素 XPATH: //div[@id='u1']/a[2] CSS: div #u1 a:nth-child(2) 模糊匹配 selenium中允许使用 ^=,$= 或*=进行部分字符串匹配...drag_and_drop_by_offset(source, xoffset, yoffset) 拖拽到某个坐标然后松开 key_down(value, element=None) 按某个键盘上键...(element, *keys_to_send) 发送某个键到指定元素 2.2 键盘事件 selenium 常用键盘事件说明: #导入包 from selenium.webdriver.common.keys

93020

爬虫篇 | 快速入门selenium(十一)

Selenium简介 Selenium是一个用于web自动化测试工具,Selenium测试直接运行在浏览器中,就好像一个真正用户在操作一样。...我们可以利用它来模拟用户点击访问网站,绕过一些复杂认证场景 通过selnium+驱动浏览器这种组合可以直接渲染解析js,绕过大部分参数构造和反爬。...安装Selenium Selenium安装非常简单,直接pip就可以搞定: pip install selenium 使用selenium驱动chrome浏览器需要下载chromedriver,而且...') # 点击百度一 browser.find_element_by_xpath('//input[@id="su"]').click() time.sleep(2) browser.close()...,有时候我们会遇到找不到元素问题,明明定位路径没问题,这个时候我们可以考虑一是否是该页面存在frame问题导致定位不到元素。

1.7K10

Python教程:selenium模块用法教程

1.介绍selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码问题selenium本质是通过驱动浏览器,完全模拟浏览器操作,比如跳转...#//与/ # driver.find_element_by_xpath('//body/a') # 开头//代表从整篇文档中寻找,body之后/代表body儿子,这一行找不到就会报错了...') #没有等待环节而直接查找,找不到则会报错print(contents)browser.close()显式等待from selenium import webdriverfrom selenium.webdriver...('#nav-search > form > div.nav-right > div > input')button.click()import timetime.sleep(3)input_tag=browser.find_element_by_id...frame相当于一个单独网页,在父frame里是无法直接查看到子frame元素,必须switch_to_frame切到该frame,才能进一步查找from selenium import webdriverfrom

1.7K20

Selenium及python实现滚动操作多种方法

selenium并不是万能,有时候页面上操作无法实现,这时候就需要借助JS来完成了。   当页面上元素超过一屏后,想操作屏幕下方元素,是不能直接定位到,会报元素不可见。...这时候需要借助滚动条来拖动屏幕,使被操作元素显示在当前屏幕上。滚动条是无法直接用定位工具来定位。...selenium里面也没有直接方法去控制滚动条,这时候只能借助J了,还好selenium提供了一个操作js方法:execute_script(),可以直接执行js脚本。...–scrollLeft 设置或获取位于对象左边界和窗口中目前可见内容最左端之间距离。 –scrollTop 设置或获取位于对象最顶端和窗口中可见内容最顶端之间距离。...代码块 driver.find_element_by_xpath("//div[@id='search']/div/span/input").click() target = driver.find_element_by_id

5.8K21

Python无头爬虫Selenium系列(01):像手工一样操作浏览器

搜索并采集结果标题 需求如下: 打开百度搜索主页 在输入框输入搜索内容(比如"爬虫") 点击"百度一"按钮,进行搜索 把结果页面中第一页各个结果主标题抓取下来 Selenium 麻烦之处 本系列始终围绕一点开展...pyppeteer 容易学一些 有一个 selenium-ide 工具,能够把手工操作过程直接转换为 selenium 代码 缺点: 不同版本不同厂商浏览器需要不同驱动程序 无法精细控制请求过程各种处理...,如下 无法在执行网站 js 代码之前,执行自己 js 代码 无法在登录阶段控制浏览器让人工登录获得 cookies,后续直接请求获得数据 如果你认为无法接受 selenium 缺点,可以查看 pyppeteer...他意思是,他找不到"浏览器驱动" 的确,刚刚我们把驱动下载下来,但是 Python 怎么可能会知道去哪里找到那个驱动程序呢。...= wd.find_element_by_css_selector('#kw') input_box.send_keys('爬虫') #百度一按钮 act_btn = wd.find_element_by_css_selector

2.3K20

Selenium自动化爬虫

Python爬虫入门之 Selenium自动化爬虫 Selenium官方文档 1. Selenium安装配置 pip install selenium selenium配置 2....隐式等待 和 显式等待 在使用Selenium访问网页过程中,有时候需要等待网页加载,所以有时候就需要延时等待一定实践,确保网页里你需要内容都加载出来。...7.1 隐式等待 当使用隐式等待执行测试时候,如果 Selenium 没有在 DOM 中找到节点,将继续等待,超出设定时间后,则抛出找不到节点异常。...('//*[@id="wrap"]/div[4]/div/div/div[1]/form/div[2]/p/input').send_keys('Python') # 点击搜索 browser.find_element_by_xpath...无头模式 如果你觉得每次运行代码弹出来浏览器窗口太烦人,那么不妨试一Selenium无头模式,即不会弹出浏览器窗口。

1.2K30

Python模拟自动登陆网页三种方法!

, 打开开发者模式(按f12),进入网络(network),并输入登陆账号密码 2)找到相应文件,查看“请求标头” 运行结果: 二、利用from data数据提交账号密码 1、先登陆然后找到登陆响应页面的...network)里面的login文件并点击,找到负载(或者往下拉找到 from data) 3)把你账号密码copy到代码里面来 运行结果: 三、Selenium模拟登陆 模拟人工输入账号、密码...(2) #获取登陆模块iframe el_path = driver.find_element_by_xpath('/html/body/div[4]/div/div/iframe') #进去该iframe...iframe框架(可以在页面元素中ctrl+f输入iframe或frame搜索),不然找不到元素,操作不了。...4、XPath路径可以直接复制网页里面的

5.3K20

selenium高级用法:获取经纬度

今天我们来一点不一样直接使用selenium获取经纬度! 我们先进百度地图开放平台,进去之后不需要登录,找到开发文档,然后找到工具支持,最后找到坐标拾取器,如图所示。 ?...具体怎么使用可以看看右边官方教程,下面我直接以获取上海市所有公司(其实也不是所有,因为可能有些公司百度地图没有收录)经纬度为例,来讲解一不通过百度地图API从百度地图获取经纬度过程。...在使用修饰符S情况,下面我直接给出最终正则表达式:r'\s+.*?...from selenium.common.exceptions import NoSuchElementException # 当找不到元素时会引发NoSuchElementException异常,...browser.find_element_by_id("localsearch").click() # 点击百度一进行搜索 pattern = compile(r'<div id="

1.8K20

Python无头爬虫Selenium系列(01):像手工一样操作浏览器

搜索并采集结果标题 需求如下: 打开百度搜索主页 在输入框输入搜索内容(比如"爬虫") 点击"百度一"按钮,进行搜索 把结果页面中第一页各个结果主标题抓取下来 Selenium 麻烦之处 本系列始终围绕一点开展...pyppeteer 容易学一些 有一个 selenium-ide 工具,能够把手工操作过程直接转换为 selenium 代码 缺点: 不同版本不同厂商浏览器需要不同驱动程序 无法精细控制请求过程各种处理...,如下 无法在执行网站 js 代码之前,执行自己 js 代码 无法在登录阶段控制浏览器让人工登录获得 cookies,后续直接请求获得数据 如果你认为无法接受 selenium 缺点,可以查看 pyppeteer...他意思是,他找不到"浏览器驱动" 的确,刚刚我们把驱动下载下来,但是 Python 怎么可能会知道去哪里找到那个驱动程序呢。...= wd.find_element_by_css_selector('#kw') input_box.send_keys('爬虫') #百度一按钮 act_btn = wd.find_element_by_css_selector

3.3K30

Python爬虫技术系列-04Selenium库案例

,下载到本地,放在工程路径即可。...回车点击后跳转到“python爬虫”商品页,可以查看到返回商品列表,如图所示: 在商品列表页中通过开发者工具可以查看“python爬虫”商品基本信息,可以看到每个商品都位于li标签中,li...进一步分析,可以看到商品列表页,,如商品链接,商品名称,商品价格,商品评论人数等信息,如图所示: 通过开发者工具可以看出,商品链接位于li标签中a标签href属性中。...商品名称位于class属性为p-namediv标签下得em标签中,并有换行。商品价格信息位于class属性为p-pricediv标签中i标签中,由于图片大小问题,没有展开显示。...商品评论人数信息位于class属性为p-commita标签中,由于图片大小问题,没有展开显示。

98220

爬虫篇|动态爬取QQ说说并生成词云,分析朋友状况

frame, # 所以这里需要选中一说说所在frame,否则找不到下面需要网页元素 driver.switch_to.frame("app_canvas_frame...[3]') 所有的注释都在代码中,所以也就不作详情说明, 昨天模拟登录大家都应该掌握了,没有掌握自己再去复习一 .Python爬虫:学习Selenium并使用Selenium模拟登录知乎 爬取说说完整代码...() # 浏览器地址定向为qq登陆页面 driver.get("http://i.qq.com") # 所以这里需要选中一frame,否则找不到下面需要网页元素 driver.switch_to.frame...frame, # 所以这里需要选中一说说所在frame,否则找不到下面需要网页元素 driver.switch_to.frame("app_canvas_frame...,因为下一页按钮是动态变化,这里需要动态记录一 driver.find_element_by_id('pager_next_' + str(next_num)).click()

84110

Python爬虫:动态爬取QQ说说并生成词云,分析朋友状况

frame, # 所以这里需要选中一说说所在frame,否则找不到下面需要网页元素 driver.switch_to.frame("app_canvas_frame...[3]') 所有的注释都在代码中,所以也就不作详情说明, 昨天模拟登录大家都应该掌握了,没有掌握自己再去复习一 .Python爬虫:学习Selenium并使用Selenium模拟登录知乎 爬取说说完整代码...() # 浏览器地址定向为qq登陆页面 driver.get("http://i.qq.com") # 所以这里需要选中一frame,否则找不到下面需要网页元素 driver.switch_to.frame...frame, # 所以这里需要选中一说说所在frame,否则找不到下面需要网页元素 driver.switch_to.frame("app_canvas_frame...,因为下一页按钮是动态变化,这里需要动态记录一 driver.find_element_by_id('pager_next_' + str(next_num)).click()

1.5K10

四、请求库之selenium模块

一 介绍 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码问题 selenium本质是通过驱动浏览器,完全模拟浏览器操作,...#//与/ # driver.find_element_by_xpath('//body/a') # 开头//代表从整篇文档中寻找,body之后/代表body儿子,这一行找不到就会报错了...('content_left') #没有等待环节而直接查找,找不到则会报错 print(contents) browser.close() from selenium import webdriver...') button=browser.find_element_by_css_selector('#nav-search > form > div.nav-right > div > input') button.click...,在父frame里是无法直接查看到子frame元素,必须switch_to_frame切到该frame,才能进一步查找 from selenium import webdriver from selenium.webdriver

2.9K50
领券