selenium是用于web自动化测试的工具,所以也就能够被用来控制浏览器进行一些自动化任务。这里记录一些使用tips。
安装
selenium针对不同的浏览器提供不同的webdriver。webdriver可以理解成类似硬件的驱动程序,具体介绍看这里:http://www.seleniumhq.org/docs/03_webdriver.jsp
假设我们想控制Google Chrome,那么需要安装chrome对应的webdriver(假设已经安装好Chrome),Google官方提供的:https://sites.google.com/a/chromium.org/chromedriver/home
基本就是下载你的OS对应的driver,设置好路径就行了。也可以参考:https://intoli.com/blog/running-selenium-with-headless-chrome/
安装完后,用命令测试一下:
$ chromedriver
Starting ChromeDriver 2.29.461571 (8a88bbe0775e2a23afda0ceaf2ef7ee74e822cc5) on port 9515
Only local connections are allowed.
说明安装成功。
然后安装python包:
$ pip install selenium
启动
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('headless')
options.add_argument('window-size=1200x600')
options.add_argument('user-data-dir=xxx')
d = webdriver.Chrome(chrome_options=options)
d.get('http://www.google.com')
d.close()
其中,user-data-dir
是chrome的用户数据目录,你可以指向你的系统默认目录,参考:https://chromium.googlesource.com/chromium/src/+/master/docs/user_data_dir.md,或者你也可以指向一个自定义的目录,用来创建和保存一个专用于测试的profile。
关于selenium python API可以参考:
http://selenium-python.readthedocs.io/,这个不是最新的,但比官方的更详细。
官方文档:https://seleniumhq.github.io/selenium/docs/api/py/api.html