前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Selenium 简单介绍、安装、启动

Selenium 简单介绍、安装、启动

作者头像
友儿
发布2022-10-05 18:34:54
发布2022-10-05 18:34:54
38500
代码可运行
举报
文章被收录于专栏:友儿友儿
运行总次数:0
代码可运行

Selenium简单介绍

代码语言:javascript
代码运行次数:0
运行
复制
https://selenium-python.readthedocs.io/
https://python-selenium-zh.readthedocs.io/zh_CN/latest/

什么是selenium

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

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

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

selenium常用来做什么?

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

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

Selenium安装

安装Python版本的selenium

代码语言:javascript
代码运行次数:0
运行
复制
pip install selenium

查看当前浏览器版本

代码语言:javascript
代码运行次数:0
运行
复制
最新版本为89

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

代码语言:javascript
代码运行次数:0
运行
复制
http://npm.taobao.org/mirrors/chromedriver/

下载后解压至特定目录

代码语言:javascript
代码运行次数:0
运行
复制
H:\drivers\chromedriver.exe

快速启动

创建一个webdriver驱动实例

代码语言:javascript
代码运行次数:0
运行
复制
from selenium import webdriver

driver_path = r"H:\drivers\chromedriver.exe"
browser = webdriver.Chrome(executable_path=driver_path)

浏览器设置

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

请求网址

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

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

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

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

页面解析

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

driver_path = r"H:\drivers\chromedriver.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)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Selenium简单介绍
  • Selenium安装
  • 快速启动
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档