selenium常用方法

  • 打开浏览器
  • 定位元素的方法
  • 操作元素的方法
  • 操作浏览器的方法
  • 操作选择框的方法
  • 操作鼠标的方法

打开浏览器

from selenium import webdriver
from selenium.webdriver.common.by import Bydriver = webdriver.Edge()url = "..."
driver.get(url)
driver.maximize_window()# 隐式等待 每隔半秒钟查询一次
driver.implicitly_wait(10)

定位元素的方法

element = driver.find_element(By.NAME, 'name_attribute')
element = driver.find_element(By.ID, 'id_attribute')
element = driver.find_element(By.CSS_SELECTOR, 'css_selector')
element = driver.find_element(By.XPATH, 'xpath_selector')
element = driver.find_element(By.CLASS_NAME, 'class_attribute')
element = driver.find_element(By.LINK_TEXT, 'link_text')
element = driver.find_element(By.PARTIAL_LINK_TEXT, 'partial_link_text')
element = driver.find_element(By.TAG_NAME, 'tag_name')elements = driver.find_elements()
# find_element()选取符合标签的第一个元素,如果没有则抛出异常
# find_elements()选取符合标签的所有元素,如果没有则返回一个空列表
# webDriver使用find时,是在整个web页面中查找
# webElement使用find时,是在该element下查找for element in elements:print(element.text)

操作元素的方法

# 向某个元素输入内容
element.send_keys("admin")# 清空某个元素的文本
element.clear()# 某个元素全部的html内容
element.get_attribute("outerHTML")
# 某个元素内部的html
element.get_attribute("innerHTML")
# 获取输入框内的内容
element.get_attribute("value")
# 清空输入框
element.click()
# 获取元素显示在页面上的内容
element.text

操作浏览器的方法

# 切换浏览器页面的操作范围
driver.switch_to.frame('frame_selector')
# 切换浏览器窗口
for handle in driver.window_handles:driver.switch_to.window(handle)if 'baidu' in driver.title:break# 关闭浏览器驱动
driver.quit()

操作选择框的方法

# select 选择框from selenium.webdriver.support.ui import Selectselect = Select(driver.find_element(By.ID, "ss_multi"))select.deselect_all()select.select_by_visible_text("text")

操作鼠标的方法

# 鼠标移动到某个element上from selenium.webdriver.common.action_chains import ActionChainsac = ActionChains(driver)ac.move_to_element(driver.find_element(...)).perform()
ac.move_by_offset()# 弹出框
# 点ok
driver.switch_to.alert.accept()
# 点cancel
driver.switch_to.alert.dismiss()
# 弹出框里的文本
driver.switch_to.alert.text

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

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

相关文章

景联文科技打造高质量图文推理问答数据集,赋能大语言模型提升推理能力

大语言模型在处理推理任务时,不同于人类能够反思错误并修正思维路径,当它遇到自身知识盲区时,缺乏自我校正机制,往往导致输出结果不仅无法改善,反而可能变得更不准确。 需要依赖外部的知识库和推理能力来克服其在理解和…

【MySQL】2.库的操作

库的操作 一.创建数据库1.数据库的编码集 二.查看数据库三.修改数据库四.删除数据库五.数据库的备份和恢复 一.创建数据库 create database [if not exists] db_name [charsetutf8] [collateutf8_general_ci] //创建一个名为db_name的数据库,本质就是在/var/lib/my…

视觉图像面积计算

在图像处理和计算机视觉中,计算对象面积的常见方法有两种:使用四邻域标记算法和使用轮廓计算。每种方法在不同情况下有各自的优缺点。 四邻域标记算法: 优点: 简单易实现。能够处理带有孔洞的复杂区域(只要孔洞不影响连…

WebKit性能优化秘籍:打造极速网页体验

WebKit性能优化秘籍:打造极速网页体验 在现代Web开发中,WebKit作为核心渲染引擎,其性能直接影响到网页的加载速度和运行效率。优化WebKit性能,不仅可以提升用户体验,还能增强应用的竞争力。本文将深入探讨如何优化Web…

Amazon Kinesis常用权限分类详解

Amazon Kinesis是一套用于实时收集、处理和分析数据流的平台化服务。为了确保Kinesis资源的安全性和访问控制,AWS提供了一套细粒度的权限管理机制。本文将详细介绍Kinesis的常用权限分类,并提供相应的JSON策略示例。 1. Kinesis Data Streams权限 Kinesis Data Streams是Ki…

蚓链实践告诉你“企业确保达成数字化营销效果的方法”

在如今这个数字化盛行的时代,企业想在激烈的市场竞争里崭露头角,确保数字营销效果那可是至关重要!今天就来给大家聊聊实现这一目标的基本条件,来自蚓链数字化营销系统的广大用户体验总结。 一、精准的目标定位 企业一定要清楚地知…

uniapp 表格,动态表头表格封装渲染

1.接口表格数据: {"headers": [{"label": "实例名","name": "v1","order": 1,"hide": false,"dateTypeValue": null},{"label": "所属科室","name&quo…

CentOS 安装 annie/lux,以及 annie/lux 的使用

annie 介绍 如果第一次听到 annie 想必都会觉得陌生,annie 被大家称为视频下载神器,annie 作者介绍说可以下载抖音、哔哩哔哩、优酷、爱奇艺、芒果TV、YouTube、Tumblr、Vimeo 等平台的视频。 githup:https://github.com/pingf/annie 支持…

使用Boost.Asio编写TCP通信程序框架(一)

基于Boost.Asio库编写TCP通信程序框架: 我们首先需要明确几个关键点:节点间如何建立连接、消息如何传输、以及如何处理网络事件。以下是一个简化的设计方案: 1. 设计目标 可扩展性:系统应该能够轻松地添加或移除节点。容错性&…

51单片机嵌入式开发:1、STC89C52环境配置到点亮LED

STC89C52环境配置到点亮LED 1 环境配置1.1 硬件环境1.2 编译环境1.3 烧录环境 2 工程配置2.1 工程框架2.2 工程创建2.3 参数配置 3 点亮一个LED3.1 原理图解读3.2 代码配置3.3 演示 4 总结 1 环境配置 1.1 硬件环境 硬件环境采用“华晴电子”的MINIEL-89C开发板,这…

服务发现与注册:Eureka与Consul

在微服务架构中,服务发现与注册是一个非常重要的部分。通过服务发现机制,微服务能够相互找到并进行通信,而不需要了解彼此的具体地址。本文将详细介绍两种主流的服务发现与注册框架:Eureka和Consul,并提供相应的代码示…

elasticSearch快速了解

elasticSearch:经常用于搜索引擎,我们用的百度搜索和github上的搜索都是用的搜索引擎,它是对输入内容进行分析,然后查询,不像数据库模糊搜索的like一样必须含用你输入的全部内容。 elasticSearch优势:支持…

一文解决:你与该网站的连接不是私密连接,存在安全隐患

访问网页时,是不是会经常遇到网站不是私密连接的提示?当浏览器提示某个网页不安全时,这通常是因为网页使用的是非加密的HTTP协议,或者其HTTPS协议的SSL/TLS证书存在问题。 通常遇到这类网站时要注意,一来是网站未与证书…

`THREE.Line` 是 Three.js 中用于创建线段的类。

demo案例 THREE.Line 是 Three.js 中用于创建线段的类。以下是 THREE.Line 的详细说明,包括构造函数参数、输出、方法和属性。 构造函数 new THREE.Line(geometry, material, mode) geometry (THREE.BufferGeometry 或 THREE.Geometry): 定义线段的几何体。mater…

概率解码:SKlearn中模型的概率预测指南

概率解码:SKlearn中模型的概率预测指南 在机器学习中,概率预测是一种评估样本属于某个类别可能性的方法。这种预测方式不仅提供了分类结果,还给出了预测的置信度。Scikit-learn(简称sklearn),作为Python中…

[图解]SysML和EA建模住宅安全系统-12-内部块图

1 00:00:00,580 --> 00:00:02,770 接下来我们来画流了 2 00:00:03,100 --> 00:00:05,050 首先第一个是站点状态 3 00:00:05,140 --> 00:00:08,130 从这里到这里,我们画一个过来 4 00:00:10,290 --> 00:00:11,890 这里流到这里 5 00:00:11,900 -->…

汉中茗茶小程序的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,基础数据管理,茶叶管理,论坛管理,公告管理,茗茶历史管理 微信端账号功能包括:系统首页,茗茶信息&#xf…

探索 WebKit 的分享新境界:Web Share Target API 的深度解析

探索 WebKit 的分享新境界:Web Share Target API 的深度解析 在移动为先的网络世界中,Web Share Target API 为 Web 应用提供了一种简单而强大的方式,允许它们成为分享目标,接收来自其他应用或 Web 应用的内容。作为众多现代浏览…

mac怎么压缩pdf文件大小,mac压缩pdf文件大小不改变清晰度

在数字化时代,pdf格式因其良好的兼容性和稳定性,成为了文档分享和传输的首选。然而,随着文件内容的丰富,pdf文件的体积也越来越大,给存储和传输带来了不小的困扰。本文将揭秘几种简单有效的pdf文件压缩方法&#xff0c…

如何优化 PostgreSQL 中对于自关联表的查询?

文章目录 一、理解自关联表查询二、分析性能问题的可能原因(一)缺少合适的索引(二)大量数据的笛卡尔积(三)复杂的查询逻辑 三、优化策略及解决方案(一)创建合适的索引(二…