selenium的基本使用

news/2024/11/29 1:55:35/

Selenium 是一个自动化测试工具,可以模拟用户在浏览器中的操作。下面是一些常用的 Selenium 语法:

创建一个 WebDriver 对象:

from selenium import webdriver driver = webdriver.Firefox()

导航到一个 URL:

driver.get('http://example.com')

查找元素

elem = driver.find_element_by_name('username')

输入文本:

elem.send_keys('my_username')

点击元素:

elem.click()

获取元素属性:

elem.get_attribute('value')

等待元素出现:

from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC

elem = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.NAME, 'username')) )

这些是 Selenium 的基本语法,当然还有很多其他的 API 和功能,例如处理浏览器窗口、切换到 iframe 等等

Selenium 查找元素的方法有以下几种:

Selenium 查找元素的方法有以下几种:

find_element_by_id:根据元素 ID 查找元素;

   elem = driver.find_element_by_id('element-id')

find_element_by_name:根据元素 name 属性查找元素;

   elem = driver.find_element_by_name('element-name')

find_element_by_xpath:使用 XPath 表达式查找元素;

  elem = driver.find_element_by_xpath('//div[@class="example"]')

find_element_by_link_text:根据链接文本查找链接元素;

   elem = driver.find_element_by_link_text('click here')

find_element_by_partial_link_text:根据链接文本的部分内容查找链接元素;

   elem = driver.find_element_by_partial_link_text('here')

find_element_by_tag_name:根据标签名称查找元素;

   elem = driver.find_element_by_tag_name('h1')

find_element_by_class_name:根据 CSS 类名查找元素;

   elem = driver.find_element_by_class_name('example')

find_element_by_css_selector:使用 CSS 选择器查找元素。

   elem = driver.find_element_by_css_selector('.example')

您可以使用Selenium中的XPath来查找多个包含 span 元素的元素,并在其中查找内容为 aaspan 元素。以下是一个示例XPath表达式:

elements = driver.find_elements_by_xpath("//span/span[text()='aa']")

当然,还有对应的复数形式 find_elements_by_xxx 方法来查找多个元素。

以上示例中的 driver 指的是 WebDriver 对象,需要先创建。而每个示例中的字符串参数则代表了需要查找的元素特征,可以根据自己需要调整。

除了以上方法,如果你需要根据文本内容查找元素,可以结合 XPath 或者 CSS 选择器来实现。例如,使用 XPath 表达式 //a[text()='Click Here'] 可以查找所有文本为 “Click Here” 的链接元素。类似的,在 CSS 选择器中也可以使用 :contains 伪类来查找含有特定文本内容的元素,例如 a:contains('Click Here')


http://www.ppmy.cn/news/61762.html

相关文章

【Hydro】半图解法调洪演算步骤,附Python代码

说明 半图解法计算步骤如下: (1)根据水位~库容关系、水位~泄流关系以及计算时段等绘制辅助曲线; (2)确定起调水位 Z 1 Z_1 Z1​及相应的 q 1 q_1 q1​、 V 1 V_1 V1​计算各时段平均入库流量 Q p Q_p Qp​; (3)在水位坐标轴上确定…

详细版简单易学版TypeScript各类型声明

假如本地新建了一个b.ts文件 安装TypeScript:npm install -g typescript 编译代码:tsc b.ts 运行js:node b.js 在终端输入 tsc -init 生成 tsconfig.json 文件 类型注解:TypeScript里的类型注解是一种轻量级的为函数或变量添加约束…

vue3+webpack4 前端优化首屏时间

项目背景 中小项目,Vue-cli3 vue2 webpack4 目标 缩短白屏时间,用户能够更快的看到我的页面! 白屏时间:从打开页面到看到页面,中间白屏停留的时间。 方向 1.减少资源体积,从而缩短请求时间 2.减少资…

C# 使用PdfiumViewer实现对PDF文档打印预览(二)

文章目录 前言关于PdfiumViewer配置PdfiumViewer环境PdfiumViewer 打开并预览本地的PDF文档PdfiumViewer 预览PDF文件流小节附录 前言 想要对PDF文档进行预览和打印,实际上这个文档可以是存在的,也可以是一个PDF文件流(本地并没有PDF文件&am…

5 系统数据文件和信息

5.1 口令文件 口令文件包含了下表中所示的各字段&#xff0c;这些字段包含在<pwd.h>中定义的passwd结构中。 /etc/passwd文件中的字段 说 明struct passwd 成员用户名char *pw_name加密口令char *pw_passwd数值用户IDuid_t pw_uid数值组IDgid_t pw_gid注释字段char *pw_g…

Linux 创建监控用户

1.创建用户和登录shell useradd -s /bin/bash monitor 2.修改用户密码 passwd monitor 3.创建用户shell执行命令目录 mkdir /home/monitor/.bin 4.root修改用户的shell配置文件 chown root. /home/monitor/.bash_profile chmod 755 /home/monitor/.bash_profile 5.修改ba…

数字化转型导师坚鹏:如何制定企业数字化转型年度培训规划

如何制定企业数字化转型年度培训规划 ——以推动企业数字化转型战略落地为核心&#xff0c;实现知行果合一 课程背景&#xff1a; 很多企业都在开展企业数字化转型培训工作&#xff0c;目前存在以下问题急需解决&#xff1a; 缺少针对性的企业数字化转型年度培训规划 不清…

Java8异步编程的技巧

以下是Java8异步编程的技巧&#xff1a; 1. CompletableFuture CompletableFuture是Java8中新增的一个类&#xff0c;它提供了一种简单而强大的异步编程方式。通过使用CompletableFuture&#xff0c;我们可以轻松地创建和组合异步任务&#xff0c;让代码更加简洁和易于维护。…