Selenium 简单介绍、安装、启动

2022-10-05 18:34:54 浏览数 (1)

Selenium简单介绍

代码语言:javascript复制
https://selenium-python.readthedocs.io/
https://python-selenium-zh.readthedocs.io/zh_CN/latest/

什么是selenium

通过浏览器驱动来自动化操纵浏览器的工具

代码语言:javascript复制
selenium -> 传输指令 -> webdriver -> 转换指令 -> 浏览器

webdriver的出现是为了兼容各语言各版本, 使java或者python都可以通过同一个webdriver达到操纵浏览器的目的.

selenium常用来做什么?

本质是模拟用户行为, 可以用于以下领域

  • 自动化测试
  • 获取网页数据
    • 复杂动态网页
    • 账号比较重要, 保证不被反爬风控
    • 数据量小, 但是验证复杂的网站
    • 获取session
      • 用户端无法获取session, 但是selenium可以

Selenium安装

安装Python版本的selenium

代码语言:javascript复制
pip install selenium

查看当前浏览器版本

代码语言:javascript复制
最新版本为89

下载对应浏览器版本的chrome driver

代码语言:javascript复制
http://npm.taobao.org/mirrors/chromedriver/

下载后解压至特定目录

代码语言:javascript复制
H:driverschromedriver.exe

快速启动

创建一个webdriver驱动实例

代码语言:javascript复制
from selenium import webdriver

driver_path = r"H:driverschromedriver.exe"
browser = webdriver.Chrome(executable_path=driver_path)

浏览器设置

代码语言:javascript复制
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("disable-blink-features=AutomationControlled")
browser = webdriver.Chrome(executable_path=driver_path, 

请求网址

定位搜索框并模拟键盘输入

代码语言:javascript复制
search_input = browser.find_element_by_css_selector('input[aria-label="搜索"]')
search_input.send_keys("鼠标")

定位搜索按钮并模拟鼠标输入

代码语言:javascript复制
search_button = browser.find_element_by_css_selector('button[aria-label="搜索"]')
search_button.click()

页面解析

代码语言:javascript复制
item_array = search.parse_jd_item(browser.page_source)
代码语言:javascript复制
from selenium import webdriver
from jd_crawler.jd_parser import search
import time

driver_path = r"H:driverschromedriver.exe"

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("disable-blink-features=AutomationControlled")
browser = webdriver.Chrome(executable_path=driver_path, chrome_options=chrome_options)


def sim_search(keyword, url):
    browser.get(url)
    search_input = browser.find_element_by_css_selector('input[aria-label="搜索"]')
    search_input.send_keys(keyword)
    search_button = browser.find_element_by_css_selector('button[aria-label="搜索"]')
    search_button.click()


def main(keyword, url):
    sim_search(keyword, url)
    time.sleep(3)
    item_array = search.parse_jd_item(browser.page_source)
    print(item_array)
    browser.close()


if __name__ == "__main__":
    jd_url = "https://www.jd.com/"
    main("鼠标", jd_url)

0 人点赞