当前位置: 首页 > article >正文

Python 使用 Selenuim进行自动化点击入门,谷歌驱动,以百度为例

一、首先要下载谷歌驱动

1.(打开谷歌浏览器 - 设置 - 关于谷歌,查看谷歌浏览器版本,否则不对应无法调用,会提示:selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version xxxx)

2.下载对应版本谷歌webdrive,下面两个链接二选一

CNPM Binaries Mirror

Chrome for Testing availability

也可以在下发链接下载其他浏览器驱动(看你使用什么浏览器了):

https://www.selenium.dev/zh-cn/documentation/webdriver/troubleshooting/errors/driver_location/

把下载下来的 chromedriver.exe 文件复制到当前文件运行的目录下,或者放在其他地方,复制绝对路径使用一般不会出错。

3.cmd进入使用pip下载selenium

pip install selenium

 4.代码部分示例

(复制Xpath方式可参考下图)

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2024/11/21 10:30
# @Author : LanXiaoFang
# @Site : 
# @File : yzkd.py
# @Software: PyCharm


from selenium import webdriver
from selenium.webdriver.common.by import By
import time

# option这里是你的chromedriver.exe的绝对路径替换进来
option = r"G:\works\PythonCharmPre\cnki_0116\chromedriver.exe"
url = "https://www.baidu.com/"  # 以百度为例,ulr中填你需要进行模拟点击的网址

option = webdriver.ChromeOptions()
# 此配置去掉浏览器正在受自动软件的监控
option.add_experimental_option('excludeSwitches', ['enable-automation'])
# 模拟浏览器点击
option.add_argument(
    'user-agent="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36"')
# 设置信息
driver = webdriver.Chrome(options=option)
# 浏览器最大化,不放大有可能页面会兼容手机隐藏掉,之前小窗口老是xpath获取不到数据
driver.maximize_window()
# 打开chrome浏览器
driver.get(url)
# 网页打开要等待全部加载完才能获取到节点
time.sleep(5)

srk = driver.find_element(By.XPATH, "/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input")
srk.clear()  # 清空搜索栏
srk.send_keys("CSDN 懒笑翻")  # 设置搜索内容,这里可以自定义

bdyx = driver.find_element(By.XPATH, "/html/body/div[1]/div[1]/div[5]/div/div/form/span[2]/input")
bdyx.click()

time.sleep(1500)  # 休息1500秒以有时间查看效果结果 可以删除或者设置短一些

time.sleep(5)
driver.quit()


http://www.kler.cn/a/405613.html

相关文章:

  • Swift 数组
  • Tailscale 自建 Derp 中转服务器(全程无 Docker + 无域名纯 IP 版本)
  • 蓝桥杯每日真题 - 第20天
  • OpenCV与AI深度学习|16个含源码和数据集的计算机视觉实战项目(建议收藏!)
  • PCB 间接雷击模拟
  • js批量输入地址获取经纬度
  • 数据驱动与并行策略:用 JUnit 5 让软件测试更高效
  • 前端面试题大汇总:React 篇
  • 2025杭州国际智能网联新能源汽车展览会
  • Linux 磁盘分区、格式化和挂载
  • DRNN 神经网络的Jacobian 信息辨识
  • Python-flet实现个人视频播放器
  • 太速科技-512-基于ZU19EG的4路100G 8路40G的光纤汇流计算卡
  • 动态规划 详解
  • 基于 springboot +vue 的实践性教学系统
  • 和为 K 的子数组(java)
  • shell循环
  • MinGW 与 MSVC 的区别与联系及相关特性分析
  • 小兔鲜项目总结——项目亮点
  • 神经网络问题之二:梯度爆炸(Gradient Explosion)
  • 双指针算法详解:原理、应用场景及代码示例
  • 基于 ESP-AT (v3.x)固件通过 AT+SYSMFG 指令更新证书设置
  • 深述C++模板类
  • 每天五分钟深度学习:神经网络模型的直观理解
  • 前端常用内容
  • 汽车免拆诊断案例 | 2012款路虎揽胜运动版柴油车加速无力