当前位置: 首页 > 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 属性的值。

 

相关文章:

  • 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‘)
  • 河南有名的做网站公司/深圳竞价托管
  • 好的做问卷调查的网站/怎么提交百度收录
  • 网站开发结构图/宁波网站推广方式怎么样
  • 苏州网站建设老板/nba球队排名
  • 百度seo收录/只要做好关键词优化
  • 做静态网站有什么建议/营业推广