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

selenium测试的一些语法

  1. 元素定位语法
    • 通过ID定位:使用find_element_by_id方法,传入元素的ID属性值作为参数。例如,定位一个ID为username的输入框:
element = driver.find_element_by_id("username")
  • 通过名称定位:使用find_element_by_name方法,根据元素的名称属性来定位。比如定位一个名称为password的密码输入框:
element = driver.find_element_by_name("password")
  • 通过XPath定位find_element_by_xpath方法允许使用XPath表达式来定位元素。XPath是一种用于在XML和HTML文档中定位节点的语言。例如,定位一个具有特定文本内容的按钮:
element = driver.find_element_by_xpath("//button[text()='提交']")
  • 通过CSS选择器定位:使用find_element_by_css_selector方法,通过CSS选择器规则来定位元素。例如,定位一个类名为nav - item的导航栏项目:
element = driver.find_element_by_css_selector(".nav - item")
  1. 操作元素语法
    • 输入文本到输入框:定位到输入框元素后,使用send_keys方法输入文本。假设已经定位到一个输入框元素input_element,输入用户名:
input_element.send_keys("张三")
  • 点击元素(如按钮、链接等):使用click方法。例如,定位到一个按钮元素button_element并点击:
button_element.click()
  • 获取元素属性:使用get_attribute方法获取元素的属性值。例如,获取一个链接元素link_elementhref属性:
href_value = link_element.get_attribute("href")
  • 获取元素文本内容:对于一些元素(如标签、按钮等),可以使用text属性获取其显示的文本内容。例如,获取一个标签元素label_element的文本:
text_content = label_element.text
  1. 等待元素出现的语法(使用WebDriverWait
    • 首先要从selenium.webdriver.support.ui导入WebDriverWait,从selenium.webdriver.support导入expected_conditions并简称为EC,从selenium.webdriver.common.by导入By
    • 例如,等待一个ID为result的元素出现,最长等待10秒:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

wait = WebDriverWait(driver, 10)
element = wait.until(EC.presence_of_element_located((By.ID, "result")))
  1. 处理下拉框语法(使用Select类)
    • selenium.webdriver.support.ui导入Select类。
    • 首先定位下拉框元素,然后使用Select类包装它。例如,定位一个ID为fruitSelect的下拉框:
from selenium.webdriver.support.ui import Select

dropdown_element = driver.find_element_by_id("fruitSelect")
select = Select(dropdown_element)
  • 可以通过select_by_value(根据选项的值选择)、select_by_visible_text(根据选项的可见文本选择)或select_by_index(根据选项的索引选择)来选择下拉框中的选项。例如,根据选项的值选择:
select.select_by_value("apple")
  1. 处理警告框语法
    • 当出现警告框时,使用driver.switch_to.alert获取警告框对象。
    • 获取警告框文本:alert_text = alert.text
    • 接受警告框(点击“确定”按钮):alert.accept()
    • 取消警告框(点击“取消”按钮):alert.dismiss()
    • 对于包含输入框的提示框,还可以使用alert.send_keys("输入的文本")来向输入框输入文本。
  2. 多窗口切换语法
    • 获取所有窗口句柄:window_handles = driver.window_handles
    • 切换到指定窗口:driver.switch_to.window(window_handle),其中window_handle是要切换到的窗口的句柄。
    • 获取当前窗口句柄:current_window_handle = driver.current_window_handle

http://www.kler.cn/a/394089.html

相关文章:

  • PyTorch AMP 混合精度中grad_scaler.py的scale函数解析
  • Node 如何生成 RSA 公钥私钥对
  • 自行下载foremos命令
  • 《解密奖励函数:引导智能体走向最优策略》
  • 图书项目:整合SSM
  • flutter组件————Row和Column
  • WEB攻防-通用漏洞SQL注入MYSQL跨库ACCESS偏移
  • vue3项目中内嵌vuepress工程两种实现方式
  • 构建现代 Python Web 应用的最佳实践:从 FastAPI 到 Tortoise ORM20241113
  • div加4个角边框 css
  • 从0开始学docker (每日更新 24-11-11)
  • 信号保存和信号处理
  • 修改yolo格式的labels类别、删除yolo格式的labels类别
  • redis7.x源码分析:(1) sds动态字符串
  • 【回溯法】——组合总数
  • 【AI技术】GPT-SoVits训练日志
  • 蓝桥杯——杨辉三角
  • 【PGCCC】Postgresql 物理流复制
  • 设计模式之工厂模式,但是宝可梦
  • 【Node.js]
  • TCON 相关知识
  • Git - 命令杂谈 - merge、rebase和cherry-pick
  • git修改当前分支名称并推送到远程仓库
  • 【新手友好】用Pyspark和GraphX解析复杂网络数据
  • 【数据分享】中国食品工业年鉴(1984-2023) PDF
  • 确保HTML邮件兼容所有PC和移动设备的样式