第一步:安装与配置

1.电脑上需要有火狐浏览器(默认安装在C:\Program Files (x86)\Mozilla Firefox目录下)。

2.使用pip install selenium安装好之后。

3.在这里https://github.com/mozilla/geckodriver/releases下载一个driver包,根据自己的系统决定下哪个,我下的是geckodriver-v0.11.1-win64.zip

4.把刚下好的包里面的exe文件拷贝到火狐浏览器目录下,然后把火狐浏览器的目录加入系统的环境变量里的PATH。

第二步:启动python,测试selenium

Example 0:

open a new Firefox browser
load the page at the given URL
from selenium import webdriver browser = webdriver.Firefox()
browser.get('http://seleniumhq.org/')
Example 1: open a new Firefox browser
load the Yahoo homepage
search for “seleniumhq”
close the browser
from selenium import webdriver
from selenium.webdriver.common.keys import Keys browser = webdriver.Firefox() browser.get('http://www.yahoo.com')
assert 'Yahoo' in browser.title elem = browser.find_element_by_name('p') # Find the search box
elem.send_keys('seleniumhq' + Keys.RETURN) browser.quit()

更多例子,看官网:https://pypi.python.org/pypi/selenium/2.45.0

PS:最好用的一点是,可以通过browser.page_source来获得网页源码,传进BeautifulSoup里就可以啦~~~~~

PPS:当然,如果想操作chrome同样也是可以的,这时候需要一个chromedriver.exe,这个文件我是从这里下的:http://chromedriver.storage.googleapis.com/index.html?path=2.25/我下的是chromedriver_win32.zip。然后把里面的exe文件放进chrome的安装目录下,然后再把这个目录加入PATH就可以使用了。我的chrome安装目录是C:\Program Files (x86)\Google\Chrome\Application。

测试代码:

from selenium import webdriver

driver =  webdriver.Chrome()

driver.get("http://www.baidu.com")

driver.quit()

PPPS:然后,在使用的时候发现有时候会有页面加载很慢的情况,因为selenium是在页面完全加载完毕才会停止,然而这个在很多时候是没有必要的,这个时候可以自己手动设置超时时间。方法如下:(参考https://my.oschina.net/u/2344787/blog/400507?p={{page}})


from selenium import webdriver
from selenium.common.exceptions import TimeoutException

driver = webdriver.Firefox()
# 设定页面加载限制时间
driver.set_page_load_timeout(5)
driver.maximize_window() try:
driver.get('http://www.icourse163.org/')
except TimeoutException:
driver.execute_script('window.stop()') #当页面加载时间超过设定时间,通过执行Javascript来stop加载,即可执行后续动作

一个例子:抓取中国裁判文书网

from selenium import webdriver
from bs4 import BeautifulSoup
import time d = webdriver.Chrome()
d.get("http://wenshu.court.gov.cn/list/list/?sorttype=1&conditions=searchWord+QWJS+++全文检索:抢劫")
time.sleep(5) # 根据网络情况调整sleep时间
d.execute_script("""
var span = document.createElement(\"span\");
span.id = \"myspanspan\";
span.innerHTML = document.getElementById(\"resultList\").innerHTML;
var ele = document.body;
ele.appendChild(span);
""")
soup = BeautifulSoup(d.page_source,'html.parser',from_encoding='gb18030')
x = soup.find('span',{'id':'myspanspan'})
print(str(x))
d.close()

python3初识selenium的更多相关文章

  1. ubuntu16.04 python3 安装selenium及环境配置

    环境 ubuntu16.04 python3 安装selenium sudo pip3 install seleium 默认安装完是支持firefox,但是更新得太慢对于较新的firefox已经不支持 ...

  2. 5月25号开学! 第13期《python3自动化测试selenium+接口》课程,python零基础也能学

    2019年 第13期<python3自动化测试selenium+接口>课程,5月25号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学 本期上课时间:5月25号-7月28号,每周 ...

  3. Python3 使用selenium库登陆知乎并保存cookie为本地文件

    Python3 使用selenium库登陆知乎并保存cookie为本地文件 学习使用selenium库模拟登陆知乎,并将cookie保存为本地文件,然后供以后(requests模块)使用,用selen ...

  4. 初识selenium

    今天尝试了一些selenium,感觉并没有想象中那么难.整理一篇笔记出来. 笔者使用的是Python+selenium.以下内容均是基于Windows系统和Python3.5.2. 首先是下载sele ...

  5. Mac python3.5 + Selenium 开发环境配置

    一. python 3.5 1. 下载 2. Mac默认为2.7,所以这里主要介绍如何将系统Python默认修改为3.5. 原理: 1)Mac自带的python环境在: python2.7: /Sys ...

  6. Python3 Scrapy + Selenium + 阿布云爬取拉钩网学习笔记

    1 需求分析 想要一个能爬取拉钩网职位详情页的爬虫,来获取详情页内的公司名称.职位名称.薪资待遇.学历要求.岗位需求等信息.该爬虫能够通过配置搜索职位关键字和搜索城市来爬取不同城市的不同职位详情信息, ...

  7. 在Centos7下docker配置自动化环境镜像(python3.7+selenium 3.11+firefox 62+geckodriver 0.21)

    最近在学习Docker,准备做自动化测试代码集成的功能.如下文章的前提是已经安装好linux系统,且成功安装好Docker. 接下来我会按步骤一步一步的对自动化需要的一些环境进行安装,如果没有特别说明 ...

  8. Python3.5+selenium操作Chrome浏览器

    1.安装selenium 命令提示符下输入: pip install selenium 2.下载chromedriver 点击下载 3.将解压后的chromedriver.exe放到chrome浏览器 ...

  9. python3.x + selenium 3.x 遇到的问题:Exception ignored in: <bound method Service.__del__ of <selenium.webdriver.firefox.service.Service object at 0x0045E450>>

    我解决了!!!from selenium import webdriverimport timedr = webdriver.Firefox(executable_path = '/Users/jin ...

随机推荐

  1. jmeter 插件安装

    1.下载Plugins Manager插件 打开下载插件地址:https://jmeter-plugins.org/ 2.将下载的plugins-manager.jar包复制到Jmeter安装目录,l ...

  2. 原lnmp环境服务器升级为mysql+nginx+php单个docker容器构建的lnmp环境

    时间:2018年2月 一.项目背景 我单位现web服务架构为lnmp环境,服务器软件.硬件升级部署难:同时开源软件日新月异,考虑到技术升级,领导决定服务器架构整体升级为容器架构,维护性.移植性强. 二 ...

  3. HDU暑假多校第四场J-Let Sudoku Rotate

    一.题意 Sudoku is a logic-based, combinatorial number-placement puzzle, which is popular around the wor ...

  4. Android开发——View动画、帧动画和属性动画详解

    0. 前言   Android动画是面试的时候经常被问到的话题.我们都知道Android动画分为三类:View动画.帧动画和属性动画. 先对这三种动画做一个概述: View动画是一种渐进式动画,通过图 ...

  5. easyui 验证动态添加和删除问题

    $.extend($.fn.validatebox.methods, { remove: function(jq, newposition){ return jq.each(function(){ $ ...

  6. PADS9.5打开Altium designer09的原理图

    1. 打开PADS Logic原理图工具,文件---导入 2. 选择Protel DXP这个选项,找到相应的文件即可打开.

  7. golang 小知识点记录

    获取url中的参数及输出到页面的几种方式 func SayHello(w http.ResponseWriter, req *http.Request) { req.Method //获取url的方法 ...

  8. PyQt的QString和python的string的区别

    转载于http://blog.chinaunix.net/uid-200142-id-4018863.html python的string和PyQt的QString的区别 python string和 ...

  9. 问题 C: 质因数的个数

    1947: 质因数的个数 时间限制: 1 Sec  内存限制: 32 MB提交: 245  解决: 114[提交][状态][讨论版][命题人:外部导入] 题目描述 求正整数N(N>1)的质因数的 ...

  10. 爬取图片过程遇到的ValueError: Missing scheme in request url: h 报错与解决方法

    一 .scrapy整体框架 1.1 scrapy框架图 1.2 scrapy框架各结构解析 item:保存抓取的内容 spider:定义抓取内容的规则,也是我们主要编辑的文件 pipelines:管道 ...