第一步:安装与配置

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. 工作中使用的linux命令汇总

    ln -s  /usr/local/tomcat/ ./tomcat   创建软连接到/usr/local/tomcat tar -zxvf apache-kylin-2.4.0-bin-hbase1 ...

  2. Linux中的目录功能(Red Hat 7)

    目录的基本功能: /bin:存放普通用户使用的命令 /sbin:存放管理员可以执行的命令 /home:存放普通的家目录 如张三家目录为/home/zhangsan /root:管理员的家目录 /etc ...

  3. ffmpeg安装配置以及库调用

    参考https://blog.csdn.net/jayson_jang/article/details/52329508 cd ffmpeg ./configure --enable-shared - ...

  4. HDOJ 1176 免费馅饼(完全背包)

    参考:https://blog.csdn.net/hhu1506010220/article/details/52369785 https://blog.csdn.net/enjoying_scien ...

  5. 「LibreOJ#516」DP 一般看规律

    首先对于序列上一点,它对答案的贡献只有与它的前驱和后驱(前提颜色相同)构成的点对, 于是想到用set维护每个颜色,修改操作就是将2个set暴力合并(小的向大的合并),每次插入时更新答案即可 颜色数要离 ...

  6. CS61B sp2018笔记 | Lists

    Lists csdn同作者原创地址 1. IntLists   下面我们来一步一步的实现List类,首先你可以实现一个最简单的版本: public class IntList { public int ...

  7. BZOJ2693: jzptab(莫比乌斯反演)

    Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 2068  Solved: 834[Submit][Status][Discuss] Descripti ...

  8. octave简易操作

    语言以分号;结尾if for while等语句后用,来承接关系if ,elseif ,else ,end;for i=1:10,end;while a>3 ,end;   while true, ...

  9. Python字符串处理:过滤字符串中的英文与符号,保留汉字

    使用Python 的re模块,re模块提供了re.sub用于替换字符串中的匹配项. re.sub(pattern, repl, string, count=0) 参数说明: pattern:正则重的模 ...

  10. HTML布局的元素

    header 定义文档或节的页眉 nav 定义导航链接的容器 section 定义文档中的节 article 定义独立的自包含文章 aside 定义内容之外的内容(比如侧栏) footer 定义文档或 ...