1、python的安装
首先,去官网下载python安装包:https://www.python.org/
根据自己的环境下载相应的大包,此处下载的时Windows 64bit的安装包。
没想到,一开始就被上了一课,哈哈,系统太老,用不了新玩意(得重新下载一个较低版本,能安装的请忽略)
此处安装个3.8.8的版本,勾选“Add Python 3.8 to PATH”该项,添加到环境变量中(也可自行添加:我的电脑-属性-高级系统设置-高级-环境变量-系统变量:在path中添加安装路径)
勾选第一项:安装路径为如图默认路径,第二项可自行指定(我是安装到了D盘)
安装完成后:打开dos窗口验证:能看到版本号就说明安装成功了。
2、下载pycharm
双击下载好的安装包,直接进行安装
点击next,选择安装路径(可自行修改)
点击next,继续安装,安装完成后如下
然后点击finish完成即可。
3、创建工程
1)打开桌面的pycharm软件,选择“Don't import my setting”后,如下图所示
2)选择accept,再点击OK
3)进入如下界面
4)点击Create New Project,进入如下图的界面,图中的Location是工程路径,第二项是你安装的python的位置,选择好后,点击create。
5)右击python_project-new-Python File,输入文件名后,即可成功创建py文件。
4、安装并升级pip
查看Python的安装路径下面有没有pip.exe,没有的话需要安装一个
同样需要在Python的官网上去下载,下载地址是:https://pypi.python.org/pypi/pip#downloads
下载完成之后,解压到一个文件夹,用CMD控制台进入解压目录,输入:
python setup.py install
然后同理配置环境变量,完成后,在DOS执行pip list时,能看到版本信息时表示安装成功。
有的话执行下述命令进行更新。
5、安装selenium
1)打开dos窗口,运行pip install -U selenium安装
如果报错超时,可在上述命令后添加
-i https://pypi.douban.com/simple
解决。
2)IDE执行import selenium,运行后不报错就代表安装成功。
6.1、安装谷歌浏览器及对应的驱动(要是使用火狐浏览器,请直接看6.2)
(两者的版本一定要相匹配,否则运行程序时,会报错chromedriver.exe已停止工作)
查看自己的浏览器对应的驱动版本:
1)谷歌浏览器地址栏输入chrome://version/
复制出90前面的版本号,此处即为89.0.4389
将复制的版本号添加在“https://chromedriver.storage.googleapis.com/LATEST_RELEASE_”后面,然后在地址栏上输入,即可知道对应的谷歌驱动号。
在路径:http://npm.taobao.org/mirrors/chromedriver/下,下载该版本号对应的驱动版本即可
然后,放在谷歌安装路径下即可。
因为谷歌版本和驱动版本强相关,所以,建议直接关闭google的自动更新功能,防止因为升级导致与驱动版本不兼容。
打开计算机-管理-服务,禁用掉下面这两个服务并重启电脑即可。
7、写一个简单的程序调用浏览器,验证是否OK
输入以下代码,点击运行
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
print(driver.title)
driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click()
time.sleep(3)
#driver.close()
报错如下:
原因:没有将chormedriver驱动exe的路径设置在环境变量PATH中。
解决办法:设置完成后,重启pycharm重新运行代码即可
*即为步骤6中chromedriver.exe放置的路径*
6.2 火狐浏览器环境搭建
1、安装最新版本的火狐浏览器:傻瓜式安装即可
2、打开cmd窗口输入python,进入python环境下(或者使用pycharm也可)
依次输入:
from selenium import webdriver
driver=webdriver.Firefox()
driver.get("https://www.baidu.com")
print(driver.title)
发现,第二句代码运行报错:
这个是因为最新的selenium 启动firefox需要geckodriver.exe这个驱动文件。
Firefox驱动各个版本下载地址:
https://github.com/mozilla/geckodriver/releases (如果打不开,详见问题1)
Firefox与geckodriver版本映射表,确定所需的驱动版本
参考:https://firefox-source-docs.mozilla.org/testing/geckodriver/geckodriver/Support.html
问题1 :发现打不开github的地址
解决办法:
1、打开网址:https://tool.chinaz.com/dns/
2、如图输入github.com,得到响应IP地址
3、添加IP到hosts文件中
windows 打开 C:\Windows\System32\drivers\etc\hosts文件,输入这两个IP即可
Mac 在Finder中同时按“Shift”“Command”“G”三个键,输入“/etc/hosts”
linux /etc/hosts
方法一直接修改hosts文件,添加下面IP到文件中
13.229.188.59 github.com
140.82.112.4 github.com
找到对应版本,点击,然后下载,此处下载的是0.24.0版本
下载解压后,直接将文件拷贝到火狐浏览器的安装路径下,并将路径添加到PATH中(因为firefox.exe也要指定PATH路径,所以,拷贝到这)
再次执行脚本验证: ok
同理,需要关闭自动更新:火狐浏览器总是弹出检查更新得弹窗,之前还有不检查更新得选项,现在选择中那个选项没了。改不了
下面的方法可以都尝试下,方法三是亲测有效的
方法1:
1、关闭火狐浏览器
2、在安装路径下,找到Mozilla Firefox\defaults\pref\channel-prefs.js文件
C:\Program Files (x86)\Mozilla Firefox\defaults\pref\channel-prefs.js
将pref的第二个冒号里的内容删除即可,即置空
3、重启浏览器再次打开,发现还是会更新
方法二:
1、删掉下面这三个文件
再次重启浏览器再次打开,发现还是会更新
方法三:
在某论坛看到大神这样搞得,亲测有效:使用DisableAppUpdate企业策略禁止更新
1、在 firefox.exe 所在目录新建文件夹 distribution(有该目录就进行下一步)
2、创建一个 policies.json 文件(新建一个txt文件,然后把包括后缀名在内得文件名改成 policies.json )
在文件里面写以下内容
{
"policies":
{
"DisableAppUpdate": true
}
}
重新打开浏览器,如下图即可
禁用成功
附录:
#在百度的搜索框中输入selenium
driver.find_element_by_id("kw").send_keys("selenium")
#表示点击"百度一下"按钮
driver.find_element_by_id("su").click()
打开百度主页,按F12,依次点击1 2区域,即可跳转到3所示代码,不难看出,搜索框的id为kw,因此.find_element_by_id("kw")即代表找到这个搜索框,并向其发送selenium
同理,可查出“百度一下”对应的id为su,click()表示“点击按钮”