selenium,webdriver模仿浏览器访问百度 基础2
学python理念 : 代码要多敲 一定要多敲 哪怕很基础 注释要清晰
由于基础1有一些注释写的很详细,
在这里有些注释没有写的很详细
可以配合基础1一起学习哦
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time,os
from lxml import etree # base_url = 'http://www.baidu.com/' #创建浏览器对象
driver = webdriver.PhantomJS()
#get方法 打开网页
driver.get('http://www.baidu.com/') #获取标题title
print(driver.title)#百度一下,你就知道 #获取页面中标签的内容
#创建文件夹
root_dir = 'bai_du'
if not os.path.exists(root_dir):
os.mkdir(root_dir) #截屏保存
file_name = root_dir + '/%s.png'%(driver.title)
driver.save_screenshot(file_name) #输入框
obj = driver.find_element_by_id('kw')
obj.send_keys('詹姆斯')
# time.sleep(4)
# driver.save_screenshot(file_name) button = driver.find_element_by_id('su')
button.click()
time.sleep(4)
driver.save_screenshot(file_name) #cookie 获取百度缓存的cookies 组成列表
cookies = driver.get_cookies()
for key in cookies:
print(key) #下面书有趣内容 获取按键 基本上每一个键盘上的按键都可以获取
#全选操作 相当于键盘同时按下control+a
obj.send_keys(Keys.CONTROL,'a')
driver.save_screenshot('bai_du/homepage_control_a.png') #剪切操作
obj.send_keys(Keys.CONTROL,'x')
driver.save_screenshot('bai_du/homepage_control_x.png') #粘贴操作 页面的输入框出现三个詹姆斯
obj.send_keys(Keys.CONTROL,'v')
obj.send_keys(Keys.CONTROL,'v')
obj.send_keys(Keys.CONTROL,'v')
driver.save_screenshot('bai_du/homepage_control_v.png') #获取当前的url
print(driver.current_url) #关闭页面
driver.close() #关闭浏览器
driver.quit()
selenium,webdriver模仿浏览器访问百度 基础2的更多相关文章
- selenium,webdriver模仿浏览器访问百度 基础1
这是一种比较好的反反爬技术 #安装:pip install selenium=2.48.0 #显示:pip show selenium #卸载:pip uninstall selenium #模拟用户 ...
- python selenium webdriver处理浏览器滚动条
用键盘右下角的UP,DOWN按键来处理页面滚动条 这种方法很灵活用起来很方便!!!! from selenium import webdriver import time from selenium. ...
- 用webdriver模仿浏览器 爬取豆瓣python书单
用webdriver模仿浏览器 爬取豆瓣python书单 其中运用到os 模块 作用是生成文件夹 存储爬取的信息 etree 用于xpath解析内容 详细代码如下 可用我的上一篇博客存取到excel当 ...
- selenium WebDriver 对浏览器标签页的切换
关于selenium WebDriver 对浏览器标签页的切换,现在的市面上最新的浏览器,当点击一个链接打开一个新的页面都是在浏览器中打开一个标签页,而selenium只能对窗口进行切换的方法,只能操 ...
- selenium webdriver(1)---浏览器操作
启动浏览器 如何启动浏览器已在上篇文章中说明,这里还是以chrome为例,firefox.IE启动方式相同. //启动浏览器 import org.openqa.selenium.WebDriver; ...
- Java环境下 selenium webDriver + chrome浏览器搭建与调试
一.首先下载selenium webDriver jar包,下载地址如下: http://selenium-release.storage.googleapis.com/index.html 二.下载 ...
- 基于Python, Selenium, Phantomjs无头浏览器访问页面
引言: 在自动化测试以及爬虫领域,无头浏览器的应用场景非常广泛,本文将梳理其中的若干概念和思路,并基于代码示例其中的若干使用技巧. 1. 无头浏览器 通常大家在在打开网页的工具就是浏览器,通过界面上输 ...
- 使用python selenium webdriver模拟浏览器
selenium是进行web自动化测试的一个工具,支持C,C++,Python,Java等语言,他能够实现模拟手工操作浏览器,进行自动化,通过webdriver驱动浏览器操作,我使用的是chrome浏 ...
- selenium webdriver处理浏览器Cookie
有时候我们需要验证浏览器中是否存在某个cookie,因为基于真实的cookie 的测试是无法通过白盒和集成测试完成的.WebDriver 提供了操作Cookie 的相关方法可以读取.添加和删除cook ...
随机推荐
- Javascript 数组的一些操作
(1) shift 删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4, ...
- 同步按照NewTable中ID存储情况将数据按照规则同步至OldTable,并清空OldTable中多余数据行,返回错误消息
public string UpdateDataAdapter(DataTable tab) { if (sda == null) return "DataAdapter还未初始化,请调用G ...
- springcloud费话之配置中心基础(SVN)
目录: springcloud费话之Eureka基础 springcloud费话之Eureka集群 springcloud费话之Eureka服务访问(restTemplate) springcloud ...
- Runtime-iOS运行时应用篇
一.动态方法交换:Method Swizzling实现动态方法交换(Method Swizzling )是Runtime中最具盛名的应用场景,其原理是:通过Runtime获取到方法实现的地址,进而动态 ...
- numpy知识点总结
一.数组方法 创建数组:arange()创建一维数组:array()创建一维或多维数组,其参数是类似于数组的对象,如列表等 反过来转换则可以使用numpy.ndarray.tolist()函数,如a. ...
- Go's Declaration Syntax
Introduction Newcomers to Go wonder why the declaration syntax is different from the tradition estab ...
- Codeforces 963B Destruction of a Tree 思维+dfs
题目大意: 给出一棵树,每次只能摧毁有偶数个度的节点,摧毁该节点后所有该节点连着的边都摧毁,判断一棵树能否被摧毁,若能,按顺序输出摧毁的点,如果有多种顺序,输出一种即可 基本思路: 1)我一开始自然而 ...
- springboot 操作redis
redis五大类型用法 Redis五大类型:字符串(String).哈希/散列/字典(Hash).列表(List).集合(Set).有序集合(sorted set)五种Controller:@Reso ...
- 人生苦短_我用Python_def(函数)_004
# coding=utf-8 # function函数:内置函数 # 例如: len int extent list range str # print insert append pop rever ...
- java通过url调用远程接口返回json数据
java通过url调用远程接口返回json数据,有用户名和密码验证, 转自 https://blog.csdn.net/wanglong1990421/article/details/78815856 ...