【Rollo的Python之路】Python 爬虫系统学习 (五) Selenium

Selenium 与 PhantomJS

selenium:[s??li?ni?m]:# n. 硒(化学元素,用于制造电气设备和有色玻璃,人体缺此元素可致抑郁等病)
phantom:[?fænt?m] :# n. 鬼; 鬼魂; 幽灵; 幻觉; 幻象; adj. 像鬼的; 幽灵似的; 幻觉的; 幻象的; 虚幻的
  • Selenium

Selenium 是一个web的自动化测试工具,最初是为了网站自动化测试而开发的,Selenium可以直接运行在浏览器上,它支持所有主流的(包括PhantomJS这些无界面的浏览器),可以接收指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏。

  • PhantomJS

PhantomJS 是一个基于webkit的“无界面”(headless)浏览器,它会把网站加载到内存并执行页面上的JaveScript

1.0.1 Selenium 加载网页:

from selenium import webdriver
driver = webdriver.PhantomJS()
driver.get()
driver.save_screenshot("baidu.png")

1.0.2 Selenium 定位和操作:

driver.find_element_by_id("kw")
driver.find_element_by_id("kw").send_keys("python")
dirver.find_element_by_id("su").click()

1.0.3 Selenium 查看请求信息:

driver.page_source
driver.get_cookies()
driver.current_url

#列表生成式

{i["name"]:i["value"] for i in cookies }

1.0.4 Selenium 退出:

driver.close() #退出当前页面
driver.quit() #退出浏览器

中文文档:https://selenium-python-zh.readthedocs.io/en/latest/getting-started.html

原文地址:https://www.cnblogs.com/rollost/p/11100109.html

时间: 2024-10-27 06:03:31

【Rollo的Python之路】Python 爬虫系统学习 (五) Selenium的相关文章

【Rollo的Python之路】Python 爬虫系统学习 (六) Selenium 模拟登录

selenium 模拟登录: from selenium import webdriver import time driver = webdriver.Chrome() driver.get("https://www.douban.com/") driver.find_element_by_id("form_email").send_keys("your account") driver.find_element_by_id("for

Python之路,Day21 - 常用算法学习

Python之路,Day21 - 常用算法学习 本节内容 算法定义 时间复杂度 空间复杂度 常用算法实例 1.算法定义 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制.也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出.如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题.不同的算法可能用不同的时间.空间或效率来完成同样的任务.一个算法的优劣可以用空间复杂度与时间复杂度来衡量. 一个算

Python之路Python内置函数、zip()、max()、min()

Python之路Python内置函数.zip().max().min() 一.python内置函数 abs() 求绝对值 例子 print(abs(-2)) all() 把序列中每一个元素做布尔运算,如果全部都是true,就返回true, 但是如果是空字符串.空列表也返回true 例子 print(all([1,2,'1',''])) 输出结果 False 例子2 print(all('')) 输出结果 True any() 把序列中每一个元素做布尔运算,如果有一个为true就返回true, 但

Python之路Python作用域、匿名函数、函数式编程、map函数、filter函数、reduce函数

Python之路Python作用域.匿名函数.函数式编程.map函数.filter函数.reduce函数 一.作用域 return 可以返回任意值例子 def test1(): print("test1") def test(): print("test") return test1 res = test() print(res) 输出结果 test <function test1 at 0x021F5C90> 分析:这里print(res)输出的是te

【Rollo的Python之路】Python 爬虫系统学习 (二) Requests 模块学习

Requests模块学习: 1.0  Requests 初识 Requests 模块是一个第三方的库,首先我们要安装Requests.用pip安装,先看一下pip是哪个python 的版本. pip --version 然后用pip安装就OK pip install requests 开始要导入 Requests 模块 import requests 然后我们试一下: import requests results = requests.get('https://www.baidu.com')

Python之路---------&gt;Python介绍

一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新的TIOBE排行榜,Python赶超PHP占据第五, Python崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. 由上图可见,Python整体呈上升趋势,反映出Python应用越来越广泛并且也逐渐得到业内的认可!!! Python可以应用于众多领域,如:数据分析.组件集成

python之路-16-常用模块学习

16.1模块定义 定义:用一砣代码实现了某个功能的代码集合(n个 .py 文件组成的代码集合就称为模块) 模块分为三种: 自定义模块 内置标准模块(又称标准库) 开源模块 16.2导入方法 单个模块导入:import module_name 一个模块多个函数:from module_lanhan import * 别名导入:from module_lanhan import def_name as module_lanhan_def_name 多模块一起导入需要用逗号(,)隔开 Import m

Python之路--Python基础10--并发编程

一.multiprocessing模块介绍 Python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程. Python提供了multiprocessing.multiprocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数),该模块与多线程模块threading的编程接口类似.multiprocessing模块的功能众多:支持子进程.通信和共享数据.执行不同形式的同步,提供了Pr

python之路——python环境安装

下载地址 https://github.com/yyuu/pyenv-installer 安装pyenv 1. 安装git `yum -y install git` 2. 安装pyenv `curl -L` curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash 3. 配置环境变量,在`~/.bash_profile`里增加如下内容 ```bash expor