爬虫学习(十八)——selenium解决javascript渲染
selenium 是一个用于Web应用程序测试的工具。
Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。
这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。
测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成
selenium主要用在爬虫上,用来解决javascript渲染网页数据的问题
selenium用于爬虫的实际用法
selenium的实际用法参照底下网址
https://blog.csdn.net/qq_29186489/article/details/78661008
selenium官方文档如下:
https://selenium-python-zh.readthedocs.io/en/latest/waits.html
selenium模拟登陆
import time from selenium import webdriver url = "https://www.douban.com/"
# 创建模拟浏览器对象的driver
driver = webdriver.Chrome() # 添加隐式等待
driver.implicitly_wait(5) # 请求豆瓣登录页面
driver.get(url) # 找到登录界面
# 经过观察源码发现登录界面做了伪装,通过跳转页面,找到登录界面,在进行登录操作
frame =driver.find_element_by_xpath("//div[@class='login']/iframe")
# 跳转登录界面
driver.switch_to.frame(frame)
driver.find_element_by_xpath("//ul[@class='tab-start']/li[2]").click()
time.sleep(2)
driver.find_element_by_name("username").send_keys("159049*****")
time.sleep(2)
driver.find_element_by_name("password").send_keys("**********")
time.sleep(1)
driver.find_element_by_xpath("//div[@class='account-form-field-submit ']/a").click()
time.sleep(10)
driver.close()
爬虫学习(十八)——selenium解决javascript渲染的更多相关文章
- python之爬虫(十) Selenium库的使用
一.什么是Selenium selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行 ...
- 爬虫系列(十二) selenium的基本使用
一.selenium 简介 随着网络技术的发展,目前大部分网站都采用动态加载技术,常见的有 JavaScript 动态渲染和 Ajax 动态加载 对于爬取这些网站,一般有两种思路: 分析 Ajax 请 ...
- python学习(十八)爬虫中加入cookie
转载自:原文链接 前几篇文章介绍了urllib库基本使用和爬虫的简单应用,本文介绍如何通过post信息给网站,保存登陆后cookie,并用于请求有权限的操作.保存cookie需要用到cookiejar ...
- [Python爬虫] 之十八:Selenium +phantomjs 利用 pyquery抓取电视之家网数据
一.介绍 本例子用Selenium +phantomjs爬取电视之家(http://www.tvhome.com/news/)的资讯信息,输入给定关键字抓取资讯信息. 给定关键字:数字:融合:电视 抓 ...
- vue学习(十八)使用自定义指令 为字体渲染颜色
<div id="app"> //v-color 是自定义的 <input type="text" class="form-cont ...
- 强化学习(十八) 基于模拟的搜索与蒙特卡罗树搜索(MCTS)
在强化学习(十七) 基于模型的强化学习与Dyna算法框架中,我们讨论基于模型的强化学习方法的基本思路,以及集合基于模型与不基于模型的强化学习框架Dyna.本文我们讨论另一种非常流行的集合基于模型与不基 ...
- Python3爬虫(十八) Scrapy框架(二)
对Scrapy框架(一)的补充 Infi-chu: http://www.cnblogs.com/Infi-chu/ Scrapy优点: 提供了内置的 HTTP 缓存 ,以加速本地开发 . ...
- PYTHON 爬虫笔记十:利用selenium+PyQuery实现淘宝美食数据搜集并保存至MongeDB(实战项目三)
利用selenium+PyQuery实现淘宝美食数据搜集并保存至MongeDB 目标站点分析 淘宝页面信息很复杂的,含有各种请求参数和加密参数,如果直接请求或者分析Ajax请求的话会很繁琐.所以我们可 ...
- Scala学习十八——高级类型
一.本章要点 单例类型可用于方法串接和带对象参数的方法 类型投影对所有外部类的对象都包含了其他内部类的实例 类型别名给类型指定一个短小的名称 结构类型等效于”鸭子类型“ 存在类型为泛型的通配参数提供了 ...
随机推荐
- 打开/关闭网卡无线WIFI模块
@echo off title ------(Please run as Administrators)Please select------ :begin echo ---------------- ...
- 虚拟机中Centos7搭建本地仓库
iso放入光驱(虚拟机光驱)后,设备目录是/dev/sr0 表示光驱,被挂载道 /run/media/c4t/CentOS\ 7\ x86_64目录下 [c4t@localhost ~]$ df文件系 ...
- pat1066. Root of AVL Tree (25)
1066. Root of AVL Tree (25) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue An A ...
- PHP substr()函数
PHP substr()函数可以分割文字,但要分割的文字如果包括中文字符往往会遇到问题,这时可以用mb_substr()/mb_strcut这个函数,mb_substr() /mb_strcut的用法 ...
- 百度网页分享js代码
1.小图标 <div class="bdsharebuttonbox"> <a href="#" class="bds_qzone& ...
- react做股票、期货交易遇到的问题(不完全是react)及解决方法。
公司项目主要是做股票及期货行情展示及交易,h5相应的做了一些功能---可以看行情图及模拟交易,实盘交易存在一定的风险,老板希望做自己的产品,这样h5就尴尬了,不过没关系,项目里还是有一定技术含量的-- ...
- hql语句cast用法
hql中cast为转换函数 cast(a as b);a是要转换的数据,b是目标类型(不是数据库类型名,是hibernate类型名:比如目标类型是varchar,必须写string) eg:selec ...
- 自定义input文件上传 file的提示文字及样式
简单记录一下 效果图: 代码: <input class="aload" type='button' value='上传附件' onClick='javascript:$(& ...
- jQuery的下拉框应用
jQuery的下拉框应用 jQuery的下拉框左右选择应用 直接上代码 <!DOCTYPE html> <html> <head> <meta charset ...
- FragmentPagerAdapter 与 FragmentStatePagerAdapter的区别。通过验证证明的。
在一个 Android 应用中,我使用 FragmentPagerAdapter 来处理多 Fragment 页面的横向滑动.不过我碰到了一个问题,即当 Fragment 对应的数据集发生改变时,我希 ...