selenium+python配置chrome浏览器的选项的实现

yizhihongxing

下面是详细的讲解:

1. 确认环境

首先需要确认本地已经安装好了 Python 环境和 Chrome 浏览器。如果没有安装,可以参考 Python 官方网站Chrome 官方网站 进行下载和安装。确认安装后,可以在命令行输入 pythonchrome 来检查是否已经正确安装。

2. 安装 Selenium

Selenium 是用于自动化测试的工具,可以使用 Python 进行控制。需要先安装它,可以通过以下命令进行安装:

pip install selenium

3. 下载 Chrome 驱动程序

Selenium 需要 Chrome 驱动程序才能控制 Chrome 浏览器。可以前往 ChromeDriver 官方网站 下载对应版本的 Chrome 驱动程序。下载好后解压,将可执行文件所在路径加入系统环境变量中。

例如我将解压的文件夹路径为:C:\chromedriver\,则需要将 C:\chromedriver\ 添加至环境变量 PATH 中。

4. 编写 Python 代码

接下来需要编写 Python 代码,使用 Selenium 控制 Chrome 浏览器。在代码中可以根据需求配置 Chrome 浏览器的选项,常用的选项包括:

  • 修改 User-Agent,模拟不同的浏览器;
  • 设置代理,可以使用第三方代理服务;
  • 禁止图片加载和 JavaScript 执行;
  • 修改浏览器窗口大小等。

以下是一个简单的示例代码,在 Chrome 中打开百度并搜索关键词:

from selenium import webdriver

# 创建 ChromeOptions 对象
options = webdriver.ChromeOptions()

# 设置 User-Agent
options.add_argument('--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3')

# 设置禁止加载图片
options.add_experimental_option('prefs', {'profile.managed_default_content_settings.images': 2})

# 创建 Chrome 浏览器对象
browser = webdriver.Chrome(options=options)

# 访问百度首页
browser.get("https://www.baidu.com")

# 找到搜索框元素并输入关键词
input = browser.find_element_by_id('kw')
input.send_keys('Python')

# 找到搜索按钮元素并点击
submit = browser.find_element_by_id('su')
submit.click()

# 关闭浏览器
browser.quit()

5. 应用场景示例

  1. 爬取豆瓣电影的 Top250 列表,并将数据保存至本地文件中。
import csv
from selenium import webdriver

# 创建 ChromeOptions 对象
options = webdriver.ChromeOptions()

# 禁止图片加载和 JavaScript 执行
options.add_argument('--disable-extensions')
options.add_argument('--disable-javascript')
options.add_argument('--disable-gpu')
options.add_argument('--disable-infobars')
options.add_argument('--start-maximized')

# 创建 Chrome 浏览器对象
browser = webdriver.Chrome(options=options)

# 访问豆瓣电影 Top250 首页
browser.get("https://movie.douban.com/top250")

# 找到“下一页”按钮,并循环点击
for i in range(10):
    # 获取电影列表
    items = browser.find_elements_by_css_selector('.item')

    # 遍历电影列表,提取数据
    for item in items:
        # 获取电影标题和评分
        title = item.find_element_by_css_selector('.title').text
        rating = item.find_element_by_css_selector('.rating_num').text

        # 将数据保存至本地文件中
        with open('douban_movies.csv', mode='a', encoding='utf-8', newline='') as f:
            writer = csv.writer(f)
            writer.writerow([title, rating])

    # 找到“下一页”按钮,如果是最后一页则退出循环
    next_button = browser.find_element_by_css_selector('.next')
    if 'disable' in next_button.get_attribute('class'):
        break

    next_button.click()

# 关闭浏览器
browser.quit()
  1. 登录微博并发布一条微博。
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
from selenium import webdriver
import time

# 创建 ChromeOptions 对象
options = webdriver.ChromeOptions()

# 创建 Chrome 浏览器对象
browser = webdriver.Chrome(options=options)

# 访问微博登录页
browser.get("https://passport.weibo.cn/signin/login")

# 输入用户名和密码
username = 'Your Username'
password = 'Your Password'
input_name = browser.find_element_by_id('loginName')
input_pwd = browser.find_element_by_id('loginPassword')
input_name.send_keys(username)
input_pwd.send_keys(password)

# 点击登录按钮
submit = browser.find_element_by_id('loginAction')
submit.click()

# 等待页面加载完成
time.sleep(5)

# 关闭弹窗
try:
    close_button = browser.find_element_by_css_selector('.lite-iconf.lite-iconf-close')
    close_button.click()
except:
    pass

# 打开写微博页面
url = 'https://m.weibo.cn/compose/'
browser.get(url)

# 找到微博编辑框,输入文字
textarea = browser.find_element_by_css_selector('.m-textarea')
textarea.send_keys('Hello, world!')

# 等待编辑框变成可编辑状态
time.sleep(1)
textarea.send_keys(Keys.ENTER)

# 等待上传图片并完成
time.sleep(10)

# 点击发布按钮
submit_button = browser.find_element_by_css_selector('.btn-send')
submit_button.click()

# 关闭浏览器
browser.quit()

以上就是使用 Selenium 和 Python 配置 Chrome 浏览器选项的实现攻略。可以参考自己的需求进行相应的配置。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:selenium+python配置chrome浏览器的选项的实现 - Python技术站

(0)
上一篇 2023年6月6日
下一篇 2023年6月6日

相关文章

  • python机器学习理论与实战(二)决策树

    Python机器学习理论与实战(二)决策树 决策树是一种基于树结构的机器学习算法,可以用于分类和回归分析。在分类问题中,决策树的每个叶子节点对应于一个类别标签,而每个非叶子节点对应于一个测试条件。通过从根节点开始递归地应用测试条件,决策树最终确定样本所属于的类别标签。 本攻略将详细介绍Python中的决策树算法及其实现过程,包括: 决策树的原理与构建方法 P…

    python 2023年6月5日
    00
  • PyCharm在win10的64位系统安装实例

    下面是我们来介绍一下“PyCharm在Win10的64位系统安装实例”。 安装前准备 在进行安装前,我们需要先检查一下系统环境是否满足安装要求。 确认系统版本 首先我们需要确认一下自己的Windows系统版本是否是64位系统。 打开“设置”-“系统”-“关于”,在“系统类型”一栏中可以看到系统的位数,确保是“64位操作系统”。 安装Python 在安装PyC…

    python 2023年5月30日
    00
  • python3判断url链接是否为404的方法

    判断URL链接是否为404可以通过Python的requests库来实现,具体步骤如下: 步骤一:安装requests库 确保你的电脑已经安装了Python3,并已经安装了requests库。如果你还没有安装requests库,请打开命令行工具(Windows下为cmd,Mac下为Terminal),输入以下命令: pip install requests …

    python 2023年6月3日
    00
  • 分享Python 的24个编程超好用技巧

    分享Python的24个编程超好用技巧 Python是一种非常流行的编程语言,它具有简单易学、功能强大、可扩展性强等优点。本攻略将介绍Python的24个编程超好用技巧,帮助您更加高效地编写Python代码。 使用enumerate函数获取索引和值 使用enumerate函数可以同时获取列表或元组中的索引和值。以下是一个示例代码: fruits = [‘ap…

    python 2023年5月15日
    00
  • 使用python-cv2实现视频的分解与合成的示例代码

    这里是使用 Python 的 OpenCV 库(cv2)实现视频的分解与合成的完整攻略。 准备工作 在开始之前,需要先安装 OpenCV 库才能运行这项任务。可以通过 pip install 命令安装: pip install opencv-python 视频的读取 首先,让我们看一个从视频中读取每一帧并显示的示例: import cv2 # 加载视频源 v…

    python 2023年5月19日
    00
  • 解决Python设置函数调用超时,进程卡住的问题

    解决Python设置函数调用超时,进程卡住的问题,可以通过使用Python内置模块multiprocessing中的Process和Timeout来解决。 以下是完整攻略的步骤: 步骤1:导入Python内置模块 使用Python内置模块multiprocessing中的Process和Timeout,需要先导入该模块: import multiproces…

    python 2023年6月2日
    00
  • Python使用combinations实现排列组合的方法

    下面是关于“Python使用combinations实现排列组合的方法”的攻略说明: 概述 Python中可以使用combinations()函数来快速实现排列组合。combinations()函数是Python内置的一个模块itertools中的函数,通过它可以快速生成给定序列中长度为n的所有排列组合。 语法 combinations(iterable, …

    python 2023年6月3日
    00
  • Python中用format函数格式化字符串的用法

    当我们需要输出一段字符串并选择性的插入一些变量值时,我们可以使用字符串格式化来达到这个目的。在 Python 中,字符串格式化可以通过使用 format 函数来实现。 什么是 format 函数? format 函数是一种字符串格式化的方法,可以让我们方便地将变量插入到字符串中。 格式: string.format(arguments) 其中, string…

    python 2023年6月5日
    00
合作推广
合作推广
分享本页
返回顶部