Jacky's Blog Jacky's Blog
  • 首页
  • 关于
  • 项目
  • 大事记
  • 留言板
  • 友情链接
  • 分类
    • 干货
    • 随笔
    • 项目
    • 公告
    • 纪念
    • 尝鲜
    • 算法
    • 深度学习
  • 0
  • 0

selenium 与 ChromeDriver 入门

Jacky
17 7 月, 2021

学校要升级教务系统了,还把登录换成了统一验证。研究了半天没看懂操作,被迫放弃小而美的登录方式,转而使用 selenium 和 ChromeDriver 来模拟浏览器登陆。

之前有听郭说过 selenium,这次自己来试试。

安装 ChromeDriver

前往官网下载 https://chromedriver.chromium.org/downloads

需要先检查本机安装的 Chrome 版本,然后下载对应版本的 ChromeDriver

或者通过 Homebrew 安装

brew install chromedriver

安装 selenium

pip3 install selenium

模板代码

import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

chrome_options = Options()
# headless 将会使用无界面的 Chrome,其余参数针对 docker 环境进行优化,需要时解除注释
# chrome_options.add_argument('--headless')
# chrome_options.add_argument('--no-sandbox')
# chrome_options.add_argument('--disable-dev-shm-usage')
# chrome_options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2})
# chrome_options.add_experimental_option('excludeSwitches', ['enable-automation'])
driver = webdriver.Chrome(options=chrome_options)

try:
    # 控制操作
    driver.get('https://jackyu.cn/')

    WebDriverWait(driver, 5).until(
        EC.presence_of_element_located((By.ID, 'menu-item-165'))
    )

    driver.find_element_by_id('menu-item-165').click()

    time.sleep(10)
    
finally:
    driver.quit()

运行代码,脚本将会先打开 Chrome 浏览器,访问 https://jackyu.cn/,等待页面加载出 #menu-item-165 元素(显式等待),点击这个元素,对应将会跳转到关于页面,然后等待五秒,关闭浏览器。

selenium 与 ChromeDriver 入门-Jacky's Blog
实际效果

本文只是介绍一下入门的基本操作,更多使用方法请参考官方文档 https://selenium-python-zh.readthedocs.io/en/latest/getting-started.html

文章最后修订于 2021年8月19日

0
本文系作者 @Jacky 原创发布在 Jacky's Blog。未经许可,禁止转载。
我的 zsh
上一篇
Electron 跨平台桌面应用开发与打包
下一篇

评论 (0)

再想想
暂无评论

近期评论

  • Jacky 发表在《留言板》
  • 菜鸟 发表在《留言板》
  • merlin 发表在《留言板》
  • orz 发表在《Xcode 中使用 Clang-format》
  • Jacky 发表在《关于》
Copyright © 2016-2025 Jacky's Blog. Designed by nicetheme.
粤ICP备16016168号-1
  • 首页
  • 关于
  • 项目
  • 大事记
  • 留言板
  • 友情链接
  • 分类
    • 干货
    • 随笔
    • 项目
    • 公告
    • 纪念
    • 尝鲜
    • 算法
    • 深度学习

搜索

  • Mac
  • Apple
  • OS X
  • iOS
  • macOS
  • Linux
  • 阿里云
  • WordPress
  • 运维
  • macOS Sierra

Jacky

Go Python C C++ | 弱冠之年 | 物联网工程
183
文章
192
评论
267
喜欢