selenium模块

一、介绍

  selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题。

  selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等。来拿到网页渲染之后的结果,可支持多种浏览器。

from selenium import webdriver
browser=webdriver.Chrome()
browser=webdriver.Firefox()
browser=webdriver.PhantomJS()
browser=webdriver.Safari()
browser=webdriver.Edge() 

二、安装

#安装:selenium+chromedriver
pip3 install selenium
下载chromdriver.exe放到python安装路径的scripts目录中即可,注意最新版本是2.33,并非2.9
下载链接:http://npm.taobao.org/mirrors/chromedriver/

#验证安装
C:\Users\Administrator>python3
Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from selenium import webdriver
>>> driver=webdriver.Chrome() #弹出浏览器
>>> driver.get(‘https://www.baidu.com‘)
>>> driver.page_source

#注意:
selenium3默认支持的webdriver是Firfox,而Firefox需要安装geckodriver
下载链接:https://github.com/mozilla/geckodriver/releases

selenium+Chromedriver

#安装:selenium+phantomjs
pip3 install selenium
下载phantomjs,解压后把phantomjs.exe所在的bin目录放到环境变量
下载链接:http://phantomjs.org/download.html

#验证安装
C:\Users\Administrator>phantomjs
phantomjs> console.log(‘egon gaga‘)
egon gaga
undefined
phantomjs> ^C
C:\Users\Administrator>python3
Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from selenium import webdriver
>>> driver=webdriver.PhantomJS() #无界面浏览器
>>> driver.get(‘https://www.baidu.com‘)
>>> driver.page_source

selenium+phantomjs

selenium+phantomjs

三、基本使用

from selenium import webdriver # 驱动浏览器

from selenium.webdriver import ActionChains #滑动验证

from selenium.webdriver.common.by import By #按照什么方式查找,By.ID,By.CSS_SELECTOR,查找标签进而点击

from selenium.webdriver.common.keys import Keys #模拟键盘按键操作

from selenium.webdriver.support import expected_conditions as EC # EC中传的是元组

from selenium.webdriver.support.wait import WebDriverWait #与E联用,等待页面加载某些元素

browser=webdriver.Chrome()

try:

  browser.get(‘https://www.baidu.com‘)

  input_tag=browser.find_element_by_id(‘kw‘)

  input_tag.send_keys(‘美女‘) #python2中输入中文错误,字符串前加个u

  input_tag.send_keys(Keys.ENTER) #输入回车

  search_button = browser.find_element_by_id(‘su‘) # 找到搜索按钮点击

  search_button.click()

  wait=WebDriverWait(browser,10)

  wait.until(EC.presence_of_element_located((By.ID,‘content_left‘))) #等到id为c  ontent_left的元素加载完毕,最多等10秒

  print(browser.page_source)

  print(browser.current_url)

  print(browser.get_cookies())

finally:

  browser.close()

四、三种选择器

from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By #按照什么方式查找,By.ID,By.CSS_SELECTOR
from selenium.webdriver.common.keys import Keys #键盘按键操作
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait #等待页面加载某些元素

browser=webdriver.Chrome()

browser.get(‘https://www.baidu.com‘)

#以下三种方式达到的都是同一种效果:查找id为kw的标签
input_tag1=browser.find_element(By.ID,‘kw‘) #等同于:input_tag1=browser.find_element_by_id(‘kw‘)

input_tag2=browser.find_element(By.CSS_SELECTOR,‘#kw‘) #等同于:input_tag2=browser.find_element_by_css_selector(‘#kw‘)

input_tag3=browser.find_element(By.XPATH,‘//*[@id="kw"]‘) #等同于:input_tag3=browser.find_element_by_xpath(‘//*[@id="kw"]‘)

#注意:browser.find_elements系列与browser.find_element的区别就是,前者是查找多个,后者是只找第一个
div1=browser.find_element(By.CSS_SELECTOR,‘div‘) #找到第一个div标签
div2=browser.find_elements(By.CSS_SELECTOR,‘div‘) #找到所有的div标签,放到列表里

browser.close()
时间: 2024-10-20 03:44:06

selenium模块的相关文章

python selenium模块使用出错-selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

Python 2.7+selenium+Firefox 55.0.3 代码: from selenium import webdriver from selenium.common.exceptions import NoSuchElementException from selenium.webdriver.common.keys import Keys import time browser = webdriver.Firefox() # Get local session of firef

3、爬虫之selenium模块

selenium模块 什么是selenium?selenium是Python的一个第三方库,对外提供的接口可以操作浏览器,然后让浏览器完成自动化的操作. selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转.输入.点击.下拉等,来拿到网页渲染之后的结果,可支持多种浏览器 1 简单使用 from selenium import webdriver fro

Python学习--Selenium模块学习(2)

Selenium的基本操作 获取浏览器驱动寻找方式 1. 通过手动指定浏览器驱动路径2. 通过 `$PATH`环境变量找寻浏览器驱动 可参考Python学习--Selenium模块简单介绍(1) 控制浏览器访问URL browser.get(https://www.baidu.com/)   find系列函数定位元素 - `find_element_by_xxx` 返回第一个符合条件 `WebElement` - `find_elements_by_xxx` 返回符合条件所有元素包含了`WebE

Python学习--Selenium模块

1. Python学习--Selenium模块介绍(1) 2.Python学习--Selenium模块学习(2) 其他: 1. Python学习--打码平台 原文地址:https://www.cnblogs.com/ftl1012/p/seleniumAll.html

孤荷凌寒自学python第八十六天对selenium模块进行较详细的了解

(今天由于文中所阐述的原因没有进行屏幕录屏,见谅) 为了能够使用selenium模块进行真正的操作,今天主要大范围搜索资料进行对selenium模块的学习,并且借2019年的新年好运居然在今天就来了,还在学习Python的过程中就接到一个任务,完成了第一个真正有实用价值的作品,大大增强了信心,也对Python爬取内容,操纵网页的能力有了真切的体会. 一.首先真诚感谢以下文章作者的无私分享: 查找到html页面标签对象方法的参考 https://www.cnblogs.com/zhuque/p/8

python Web抓取(二)selenium模块的使用

一.用selenium模块控制浏览器 selenium能让用户通过Python直接控制浏览器,实际点击链接,填写登录信息,几乎就像一个人类与浏览器交互.这能比使用Request和Beautiful Soup模块完成更多的事情,能让你以更高级的方式和浏览器交互,但是也有一个确定,比如当你只是想下载一个文件时,前者就有些复杂,并且难以在后台运行 1.1启动selenium控制的浏览器 以form selenium import webdriver来导入webderiver模块 遇到了问题: 1)se

web爬虫讲解—PhantomJS虚拟浏览器+selenium模块操作PhantomJS

PhantomJS虚拟浏览器 phantomjs 是一个基于js的webkit内核无头浏览器 也就是没有显示界面的浏览器,利用这个软件,可以获取到网址js加载的任何信息,也就是可以获取浏览器异步加载的信息 下载后解压PhantomJS文件,将解压文件夹,剪切到python安装文件夹 然后将PhantomJS文件夹里的bin文件夹添加系统环境变量 cdm 输入命令:PhantomJS 出现以下信息说明安装成功 selenium模块是一个python操作PhantomJS软件的一个模块 seleni

selenium模块---操作浏览器

前言:selenium模块是用来做UI自动化,模拟浏览器操作 1.安装: 终端安装:pip install selenium 编译器安装:File->Settings->Project:文件名称->Project lnterpreter 2.导入模块: from selenium import webdriver 3.操作浏览器 from Common.read_ini import ReaDconfigurationFile from selenium.webdriver.common

selenium模块在爬虫中的应用

1. 相关概念 1. selenium模块 是一个基于浏览器自动化的模块 2. 与爬虫之间的关联 便捷的捕获到动态加载到的数据(可见即可得) 实现模拟登陆 3.环境安装 pip3 install selenium 简单演示 from selenium import webdriver from time import sleep # 后面是你的浏览器驱动位置,记得前面加r'','r'是防止字符转义的 driver = webdriver.Chrome(r'chromedriver.exe') #

爬虫解析Selenium 之(九) --- Selenium模块

Selenium elenium 是一套完整的web应用程序测试系统, 包含: 1. 测试的录制(selenium IDE) 2.编写及运行(Selenium Remote Control) 3.测试的并行处理(Selenium Grid) Selenium的核心Selenium Core基于JsUnit,完全由JavaScript编写,因此可以用于任何支持JavaScript的浏览器上. selenium可以模拟真实浏览器,自动化测试工具,支持多种浏览器,爬虫中主要用来解决JavaScript