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

selenium 常用方法

 selenium 库的常用方法:

方法说明示例代码
webdriver.Chrome()初始化 Chrome 浏览器实例。driver = webdriver.Chrome()
driver.get(url)访问指定的 URL 地址。driver.get("https://example.com")
driver.find_element(By, value)查找第一个匹配的元素。element = driver.find_element(By.ID, "id")
driver.find_elements(By, value)查找所有匹配的元素。elements = driver.find_elements(By.CLASS_NAME, "class")
element.click()点击元素。element.click()
element.send_keys(value)向输入框中发送键盘输入。element.send_keys("text")
element.text获取元素的文本内容。text = element.text
driver.back()浏览器后退。driver.back()
driver.forward()浏览器前进。driver.forward()
driver.refresh()刷新当前页面。driver.refresh()
driver.execute_script(script, *args)执行 JavaScript 脚本。driver.execute_script("alert('Hello!')")
driver.switch_to.frame(frame_reference)切换到指定的 iframe。driver.switch_to.frame("frame_id")
driver.switch_to.default_content()切换回主文档。driver.switch_to.default_content()
driver.quit()关闭浏览器并退出驱动。driver.quit()
driver.close()关闭当前窗口。driver.close()
driver.find_element 返回的是 `WebElement` 对象,它具有以下常见方法:

### 交互操作方法
- `click()`:模拟鼠标点击元素。
- `send_keys(*value)`:向可输入元素(如文本框)输入文本。
- `clear()`:清除可输入元素中的文本内容。
- `submit()`:提交表单元素。

### 属性和信息获取方法
- `get_attribute(name)`:获取元素指定属性的值。
- `get_property(name)`:获取元素的指定属性。
- `text`:获取元素的可见文本内容。
- `tag_name`:获取元素的标签名。

### 状态判断方法
- `is_displayed()`:判断元素是否在页面上可见。
- `is_enabled()`:判断元素是否处于可用状态。
- `is_selected()`:判断元素(如复选框、单选框)是否被选中。

### 位置和尺寸信息方法
- `size`:获取元素的尺寸,返回包含 `width` 和 `height` 的字典。
- `location`:获取元素在页面上的位置,返回包含 `x` 和 `y` 坐标的字典。
- `rect`:获取元素的位置和大小信息,返回包含 `x`、`y`、`width` 和 `height` 的字典。

### 元素查找方法
- `find_element(by=By.ID, value=None)`:在当前元素的子元素中查找单个元素。
- `find_elements(by=By.ID, value=None)`:在当前元素的子元素中查找多个元素,返回元素列表。

### 其他方法
- `screenshot(filename)`:对元素进行截图并保存为指定文件。
- `screenshot_as_png`:以 PNG 格式返回元素的截图数据。
- `screenshot_as_base64`:以 Base64 编码字符串形式返回元素的截图数据。
- `value_of_css_property(property_name)`:获取元素指定 CSS 属性的值。

 

http://www.dtcms.com/a/126691.html

相关文章:

  • CTF web入门之命令执行
  • 论文解读 | Task Shield:Agent“任务对齐“的防护盾,抵御提示注入攻击新方案
  • 面试题大全
  • 第六周作业
  • 【计算机网络】同步操作 vs 异步操作:核心区别与实战场景解析
  • vue实现中英文切换
  • 【含文档+PPT+源码】基于微信小程序的卫生院预约挂号管理系统的设计与实现
  • 飞牛私有云5大硬核功能实测!
  • 图解Java实现冒泡排序(Bubble Sort)
  • Keil C51中32位变量赋值异常问题分析与解决
  • 【概念】什么是UI(User interface)什么是UX(User experience)?
  • Leetcode39:组合总和——回溯算法
  • myeclise运行项目
  • 如何在Git历史中抹掉中文信息并翻译成英文
  • 卷积神经网络(CNN)可视化网站汇总
  • AI工具导航大全 | 2025精选版(持续更新)
  • HTML 开发者的智能助手:通义灵码在 VSCode 中的应用
  • Vue学习笔记 - 逻辑复用 - 组合式函数
  • deepseek热度已过?
  • Transformer多卡训练初始化分布式环境:(backend=‘nccl‘)
  • 深入理解 Vue 的数据代理机制
  • ANSI C 和 C89/C90
  • Windows 图形显示驱动开发-WDDM 2.0功能_上下文监视
  • C/C++ 知识点:静态语言与动态语言
  • 修改ESP32CAM的示例CameraWebServer里的camera_index.h的方法
  • 软考中级-软件设计师 2022年下半年下午题真题解析:通关秘籍+避坑指南
  • 嵌入式汇编语言从小白到入门:从零开始的底层编程之旅
  • QT Sqlite数据库-教程001 创建数据库和表-下
  • Qt之OpenGL使用Qt封装好的着色器和编译器
  • 【图像分类】【深度学习】图像分类评价指标