Mac,python,
mac 自带 python 2.7,所以很方便。
pip是python里的安装包,可以很方便的安装python selenium。
首先 打开终端 terminal
然后安装pip(计算机联网)。
sudo easy_install pip
安装完pip以后,可以直接使用pip安装第三方的包,比如:pip install packgename,如果提示没有权限,在前面加上sudo试试。
selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE,Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。
selenium用于爬虫,主要是用来解决javascript渲染的问题
$ pip show selenium
$ pip show list
$ sudo pip uninstall selenium
进入官网下载安装,将FireFox拖到Applications中;
然后安装selenium的FireFox接口geckodriver,进入官网下载Mac版,然后解压移到/usr/bin or /usr/local/bin目录;
然后用一下命令测试,然后Firefox可以自动打开。
>>> from selenium import webdriver
>>> browser=webdriver.Firefox()
或者可以指定打开的网页
>>> from selenium import webdriver
>>> browser=webdriver.Firefox()
>>> browser.get("https://wwww.baidu.com")
selenium.common.exceptions.WebDriverException: Message: ‘geckodriver’ executable needs to be in PATH
将geckodriver解压移到/usr/bin or /usr/local/bin目录即可。或者
dirver = webdriver.Firefox(executable_path= '/Users/Mike/Downloads/geckodriver')
UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-3: ordinal not in range(128)
Python自然调用ascii编码解码程序去处理字符流,当字符流不属于ascii范围内,就会抛出异常(ordinal not in range(128))。所以解决方法就是修改默认编码,需要注意的是需要先调用reload方法。
import sys
reload(sys)
sys.setdefaultencoding("utf-8")