Python+selenium自动化脚本
第一个Python自动化脚本
1)如果是windows 用户,在开始菜单找到python 目录,打开IDLE(python GUI)程序,启动的是一个交互模式。可以输入:from selenium import webdriver
上面的命令为导入selenium 的相关包,如果回车后没有报错表示我们的selenium 安装是成功的。(如果报错,请自行百度搜索解决方法。不过,多半是Python和selenium的版本引起的。)
2)通选择菜单栏File—>New Windows 或通过快捷键Ctrl+N 打开新的窗口。输入以下代码:
# coding = utf-8
from selenium import webdriver
browser = webdriver.Firefox()
browser.get("http://www.baidu.com")
browser.find_element_by_id("kw").send_keys("湖人总冠军")
browser.find_element_by_id("su").click()
browser.quit()
输入完成后保存,按F5运行脚本,将看到脚本启动Firefox 浏览器进入百度页,
输入“湖人总冠军” 点击搜索按钮,最后关闭浏览器的过程。(这里默认大家已经安装了Firefox 浏览器)
注:如果运行过程出现报错,可以尝试更改浏览器或selenium的版本;不要问为什么,都是这样走来的;
我的环境版本(已成功运行):
- Python:3.7.0
- 火狐浏览器:45.0.2
- selenium:3.141.0
- 火狐浏览器驱动:geckodriver-v0.11.0-win64(附一个下载地址,很实用:https://github.com/mozilla/geckodriver/tags)
有问题可以参考这里:https://www.cnblogs.com/fangfangs/p/f0000000f.html
3)代码解析:
#coding = utf-8
为了防止乱码问题,以及方便的在程序中添加中文注释,把编码统一成UTF-8。
from selenium import webdriver
导入selenium 的webdriver 包,只有导入webdriver 包我们才能使用webdriver API 进行自动化脚本的开发。
browser = webdriver.Firefox()
将控制的webdriver 的Firefox 赋值给browser;获得了浏览器对象后启动浏览器,打开网址。当然也可以调用Ie 或Chrome ,不过要先安装相关的浏览器驱动才行。
browser.get("http://www.baidu.com")
获得浏览器对象后,通过get()方法,可以向浏览器发送网址。
browser.find_element_by_id("kw").send_keys("湖人总冠军")
这里通过id=kw 定位到百度的输入框,并通过键盘方法send_keys()向输入框里输入湖人总冠军。
browser.find_element_by_id("su").click()
这一步通过id=su 定位的搜索按钮,并向按钮发送单击事件( click() )。
browser.quit()
退出并关闭窗口的每一个相关的驱动程序。
欢迎评论,互相交流,谢谢!