Selenium的安装和简单实用——PhantomJS安装
Selenium是一个用于Web应用程序测试的工具。
Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Firefox,Safari,Chrome,Opera等。
这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。
而用在爬虫上则是模拟正常用户访问网页并获取数据。我们可以利用它来模拟用户点击访问网站,绕过一些复杂的认证场景
通过selenium + 驱动浏览器这种组合可以直接渲染解析js,绕过大部分的参数构造和反爬
注意事项:
新版本的Selenium已经不支持phantomis,原作者也已经放弃维护该项目了。
你还需要 Chrome 浏览器 和对应版本的 ChromeDriver。
推荐用 webdriver-manager 自动管理驱动版本:
pip install webdriver-manager
Selenium安装
Selenium的安装非常简单,直接pip就可以搞定。
pip install selenium
简单使用
现在运行一个空白页面的浏览器窗口
from selenium import webdriver from selenium.webdriver.chrome.options import Options # 实例化一个启动参数对象 chrome_options = Options() # 设置浏览器窗口大小 chrome_options.add_argument('--window-size=1366,768') # 启动浏览器 browser = webdriver.Chrome(chrome_options=chrome_options)
点击运行,就会自动弹出一个空白的浏览器窗口了
接下来,我们再来尝试访问一下百度的首页面
from selenium import webdriver from selenium.webdriver.chrome.options import Options # 实例化一个启动参数对象 chrome_options = Options() # 设置浏览器窗口大小 chrome_options.add_argument('--window-size=1366,768') # 启动浏览器 browser = webdriver.Chrome(chrome_options=chrome_options) # 请求百度首页 browser.get('http://www.baidu.com')
这样程序点击运行,弹出的浏览器会自动转到百度的首页了
更加详细的内容,会在接下来的内容中讲到
最新版推荐这样使用
from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.common.by import By # 启动 Chrome driver = webdriver.Chrome(service=Service(ChromeDriverManager().install())) # 打开页面 driver.get("https://www.python.org") # 抓取页面元素 elem = driver.find_element(By.ID, "touchnav-wrapper") print("页面标题:", driver.title) print("找到的元素:", elem.tag_name) # 关闭 driver.quit()

浙公网安备 33010602011771号