selenium_交互 (谷歌浏览器驱动下载 xpath插件安装)

news2024/11/24 17:54:13

安装selenium

(1)查看谷歌浏览器版本
谷歌浏览器右上角 ‐‐> 帮助 ‐‐> 关于

 查看 浏览器版本:

(2)操作谷歌浏览器驱动下载地址
http : // chromedriver . storage . googleapis . com / index . html
找到与浏览器相应的版本:
以下两个版本都可以:

找到相应版本下载:

 

解压安装包 添加到pycharm的文件中:

 

(3) pip install selenium
Xpath插件安装:
打开谷歌的扩展应用程序
下载插件:

 百度网盘:

链接:https://pan.baidu.com/s/1TJ_HKaxKpURWNufJ_D72pQ 
提取码:1234

 将下载好的插件拖入到谷歌的扩展程序中:

ctrl + shift +x 打开黑色插件

 

案例:

访问百度-->在搜索框输入 蔡徐坤打篮球 --> 滑到页面底部-->点击下一页-->返回上一页-->回到之前页 退出
1、打开谷歌浏览器访问百度:

from selenium import webdriver

# 创建浏览器对象
path='chromedriver.exe'
browser=webdriver.Chrome(path)

# url 要访问的地址
url='https://www.baidu.com'
browser.get(url)

import  time
time.sleep(3)  #睡眠2秒

 

2、在搜索框搜 猪猪侠
定位搜索框:
获取文本框对象:
 
#获取文本框的对象
from selenium.webdriver.common.by import By
input=browser.find_element(By.ID,'kw')

在搜索框输入猪猪侠 点击百度一下 

#在文本框中输入猪猪侠
input.send_keys('猪猪侠')

#获取百度一下的按钮
button=browser.find_element(By.ID,'su')

# 点击按钮
button.click()
time.sleep(3)

# 滑动到底部

#滑到底部
js_bottom='document.documentElement.scrollTop=100000'
browser.execute_script(js_bottom)
time.sleep(3)

获取下一页:

使用Xpath插件 获取xpath

 

# 获取下一页
next=browser.find_element(By.XPATH,'//a[@class="n"]')

 点击下一页

#点击下一页
next.click()
time.sleep(3)

返回上一页

#回到上一页
browser.back()
time.sleep(3)


前进 退出

#前进
browser.forward()

#退出
browser.quit()

 完整代码:



from selenium import webdriver

# 创建浏览器对象
path='chromedriver.exe'
browser=webdriver.Chrome(path)

# url 要访问的地址
url='https://www.baidu.com'
browser.get(url)
import  time
time.sleep(3)  #睡眠3秒

#获取文本框的对象
from selenium.webdriver.common.by import By
input=browser.find_element(By.ID,'kw')

#在文本框中输入猪猪侠
input.send_keys('猪猪侠')

#获取百度一下的按钮
button=browser.find_element(By.ID,'su')

# 点击按钮
button.click()
time.sleep(3)

#滑到底部
js_bottom='document.documentElement.scrollTop=100000'
browser.execute_script(js_bottom)
time.sleep(3)

# 获取下一页
next=browser.find_element(By.XPATH,'//a[@class="n"]')
#点击下一页
next.click()
time.sleep(3)

#回到上一页
browser.back()
time.sleep(3)

#前进
browser.forward()

#退出
browser.quit()

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/460347.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FPGA、 CPU、GPU、ASIC区别

一、为什么使用 FPGA? 众所周知,通用处理器(CPU)的摩尔定律已入暮年,而机器学习和 Web 服务的规模却在指数级增长。 人们使用定制硬件来加速常见的计算任务,然而日新月异的行业又要求这些定制的硬件可被重新…

2023第十四届蓝桥杯 C/C++大学生A组省赛 满分题解

写在前面 以下代码,目前均可通过民间OJ数据(dotcpp & New Online Judge), 两个OJ题目互补,能构成全集,可以到对应链接下搜题提交(感谢OJ对题目的支持) 如果发现任何问题&…

汽车制造数字化转型如何做?有哪些可行性案例?

引语:砥砺前行的先行者,为长期主义者带去曙光 国内制造企业亟需加速探索数字化转型之路。但是传统软件服务商提供的PLM、MES等系统已经无法满足企业个性化需求。通过传统软件服务商进行二次开发,成本高、周期长,难以适应迅速变化的…

少儿Python每日一题(25):岛屿问题

原题解答 本次的题目如下所示(题目来源:蓝桥杯): 编程实现: 有一片海域划分为N*M个方格,其中有些海域已被污染(用0表示),有些海域没被污染(用1表示)。请问这片N*M海域中有几块是没被污染的独立海域(没被污染的独立海域是指该块海域上下左右被已污染的海域包围,且…

【手把手做ROS2机器人系统开发六】创建用户自定义msg和srv文件

创建用户自定义msg和srv文件 目录 创建用户自定义msg和srv文件 一、程序编写 1、创建软件包 2、创建msg消息和srv服务文件夹 3、定义msg消息示例 4、定义srv服务示例 5、修改和添加编译选项 6、软件包设置 二、程序测试 1、编译软件包 2、测试查询信息 3、测试查询服务…

EasyCVR视频融合平台黑名单功能更新,防止设备恶意注册平台

为了防止别人恶意注册国标设备,EasyCVR视频融合平台也具备拦截设备注册的功能,即通过国标设备ID和注册IP地址进行拦截,也就是黑名单功能。 在3.1版本之前,黑名单的设置是在配置中心—平台接入中,在输入框中添加黑名单I…

在阿里做测试开发的这5年,收获与感悟...

正好在离职交接空档期,就抽空简单分享自己的一些个人经历给大家,希望对刚毕业不久或者工作三五年的同学能有一些帮助。 测试新人 我的职业生涯开始和大多数测试人一样,开始接触都是纯功能界面测试。那时候在一家电商公司做测试,做…

湿法冶金以及铼提取工艺,湿法冶金工艺特点及工艺流程

湿法冶金是利用浸出剂在一定温度压力下与矿石接触,把矿石中有用的金属溶解后再从溶液中回收有价金属的一种工艺,因为其过程大都是在水溶液中进行,所以又被称为“水法冶金”。 01 湿法冶金工艺特点及工艺流程 湿法冶金作为解决我国金属矿产资…

SpringBoot第 17 讲:SpringBoot+JWT

关于JWT的讲解请参考:SpringCloud第14讲:(番外篇)JWT 一、项目演示 没有登陆直接请求列表接口,系统会要求先进行登录 登录成功后请求列表接口,可以正常响应数据 二、后台开发 2.1、pom.xml 添加redis…

迪赛智慧数——柱状图(堆叠柱状图):各年龄段人群服装消费频次

效果图 你多久买一次新衣服? 70后买得“精”,90后换得“勤”,90后已成为服装消费者主力!90后中平均每周1次或更多的占比达12%。当买衣服的理由越来越感性,服装貌似已不再是“这届” 消费者的基础刚需。 数据源&#…

数据库系统-查询优化

文章目录 一、查询优化概述二、优化的基本思路2.1 语义优化-内容等价性2.2 语义优化-语法等价性2.3 执行优化(物理层优化)2.4 优化在整个DBMS的位置 三、逻辑查询优化3.1 逻辑优化整体思路3.2 关系代数操作次序交换的等价性定理1 连接&连接 积&积 交换律定理2 连接&…

Leetcodes刷题之删除链表的倒数N个结点和删除链表的中间的结点

吾心信其可行,则移山填海之难,终有成功之日。 --孙中山 目录 🍉一.删除链表的倒数N个结点 🌻1.双指针 🍁2.求链表的长度 🌸二.删除链表的中间的结点 🍉一.删除链…

DataGridView 真·列头不高亮 真·列头合并

高亮BUG VB.Net,在 .NET Framework 4.8 的 WinForm 下(即不是 WPF 的绘图模式、也不是 Core 或 Mono 的开发框架),使用 DataGridView 行模式,还是有个列头表现为高亮显示: 查找各种解决方式: 设置 ColumnHeadersDefaultCellSty…

Python3语法笔记(前篇)

文章目录 前言基础杂项变量和数据变量与运算数值字符串列表(list)、元组(tuple)和range序列类型(sequence types)和切片(slicing)集合(set)和字典&#xff08…

PS批量给图片加水印

一、打开PS,导入图片 点击菜单栏-文件-打开-载入一张需要设置文字水印的图片 二、点击菜单栏-窗口-动作,打开Photshop的动作组工作台窗口 先点击新建组图标新建一个组类别,再点击新建动作图标新建一个动作,新建后自动开始录制 …

DASFAA 2023|创邻周研博士分享前沿图数据库观点

4月17-20日,2023年第28届高级应用数据库系统国际会议(DASFAA2023)在天津成功举行。创邻科技CTO周研博士受邀参会,围绕Galaxybase国产高性能图数据库进行精彩分享。 DASFAA 2023由DASFAA指导委员会(DASFAA Steering Co…

CVPR 2023 | 语义分割新范式:点监督遇上隐式场

密集预测(dense prediction)网络是解决诸如语义分割和图像本征分解(intrinsic decomposition)等场景理解问题的基本框架。现有工作[1-2] 通常使用像素级标注作为训练密集预测模型的监督。但是像素级别的密集标注非常昂贵, 对一些任务也无法给出精准的像素标注&#…

Linux-初学者系列3——虚拟光驱使用mount挂载操作

虚拟光驱使用mount挂载操作 一、mount挂载操作1、利用图形将光盘镜像文件,放入光驱设备中2、找到Linux光驱设备(青色) 1、挂载光盘和分区mount命令语法:示例:卸载(注意事项) 二、Linux快捷键 一…

Vue(绑定样式、条件渲染、列表渲染)

一、绑定样式 1. class绑定样式名 标签中使用 :class"xxx" xxx可以是字符串,对象,数组 字符串:适用于类名不确定,动态获取 数组:适用于绑定多个样式,个数不确定,字数不确定 对象&…

ProteinGAN扩展蛋白质序列空间

为了更广泛的医学应用,为催化任何所需的化学反应而重新设计蛋白质是蛋白质工程的重点。因此作者开发了ProteinGAN,这是一种基于自注意力的生成对抗网络,能够学习自然蛋白质序列的多样性,并生成功能性蛋白质序列。 来自&#xff1…