Selenium使用教程

Selenium使用教程Selenium是一款功能强大的自动化测试框架,它可以模拟用户在浏览器中的各种操作,比如点击、输入等,通过自动化测试帮助开发人员减少手动测试的时间和成本,提高测试效率和代码质量。

Selenium是一款功能强大的自动化测试框架,它可以模拟用户在浏览器中的各种操作,比如点击、输入等,通过自动化测试帮助开发人员减少手动测试的时间和成本,提高测试效率和代码质量。

本篇文章将从选取元素、常见操作、等待元素、多窗口处理和自定义浏览器驱动等多个方面详细阐述Selenium的使用方法。

一、选取元素

1、选取ID元素

from selenium import webdriver driver = webdriver.Chrome() url = 'https://www.baidu.com/' driver.get(url) element = driver.find_element_by_id('su') element.click() driver.quit()

2、选取class元素

from selenium import webdriver driver = webdriver.Chrome() url = 'https://www.baidu.com/' driver.get(url) element = driver.find_element_by_class_name('s_btn') element.click() driver.quit()

3、选取name元素

from selenium import webdriver driver = webdriver.Chrome() url = 'https://www.baidu.com/' driver.get(url) element = driver.find_element_by_name('wd') element.send_keys('selenium') driver.quit()

4、选取link_text元素

from selenium import webdriver driver = webdriver.Chrome() url = 'https://www.baidu.com/' driver.get(url) element = driver.find_element_by_link_text('新闻') element.click() driver.quit()

二、常见操作

1、输入文字

from selenium import webdriver driver = webdriver.Chrome() url = 'https://www.baidu.com/' driver.get(url) element = driver.find_element_by_name('wd') element.send_keys('selenium') element.submit() driver.quit()

2、点击按钮

from selenium import webdriver driver = webdriver.Chrome() url = 'https://www.baidu.com/' driver.get(url) element = driver.find_element_by_id('su') element.click() driver.quit()

3、切换窗口

from selenium import webdriver driver = webdriver.Chrome() url1 = 'https://www.baidu.com/' url2 = 'http://news.baidu.com/' driver.get(url1) driver.find_element_by_link_text('新闻').click() handles = driver.window_handles for handle in handles: if handle != driver.current_window_handle: driver.switch_to.window(handle) print(driver.title) driver.quit()

三、等待元素

1、强制等待

from selenium import webdriver import time driver = webdriver.Chrome() url = 'https://www.baidu.com/' driver.get(url) time.sleep(5) # 等待5秒 driver.quit()

2、隐式等待

from selenium import webdriver driver = webdriver.Chrome() url = 'https://www.baidu.com/' driver.implicitly_wait(10) # 最长等待10秒 driver.get(url) element = driver.find_element_by_name('wd') element.send_keys('selenium') element.submit() driver.quit()

3、显式等待

from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC driver = webdriver.Chrome() url = 'https://www.baidu.com/' driver.get(url) element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, 'wd'))) element.send_keys('selenium') element.submit() driver.quit()

四、多窗口处理

from selenium import webdriver driver = webdriver.Chrome() url1 = 'https://www.baidu.com/' url2 = 'http://news.baidu.com/' driver.get(url1) driver.find_element_by_link_text('新闻').click() handles = driver.window_handles for handle in handles: if handle != driver.current_window_handle: driver.switch_to.window(handle) driver.close() driver.switch_to.window(handles[0]) driver.find_element_by_name('wd').send_keys('selenium') driver.find_element_by_id('su').click() driver.quit()

五、自定义浏览器驱动

1、火狐浏览器

from selenium import webdriver firefox_options = webdriver.FirefoxOptions() firefox_options.set_headless() firefox_options.add_argument('--disable-gpu') firefox_options.add_argument('--no-sandbox') driver = webdriver.Firefox(firefox_options=firefox_options) url = 'https://www.baidu.com/' driver.get(url) element = driver.find_element_by_name('wd') element.send_keys('selenium') element.submit() driver.quit()

2、Edge浏览器

from selenium import webdriver from msedge.selenium_tools import EdgeOptions, Edge edge_options = EdgeOptions() edge_options.use_chromium = True edge_options.headless = True driver = Edge(options=edge_options) url = 'https://www.baidu.com/' driver.get(url) element = driver.find_element_by_name('wd') element.send_keys('selenium') element.submit() driver.quit()

通过以上的示例,您可以快速掌握Selenium的基本使用方法,希望能对您的自动化测试工作有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/20248.html

(0)
上一篇 2024-07-09
下一篇 2024-07-09

相关推荐

  • 以ASCII码转字符串为中心,写一个简单高效的Python程序

    以ASCII码转字符串为中心,写一个简单高效的Python程序Python是一门强大的编程语言,无论是在科技领域还是其他领域中都有广泛的应用。如果您是初学者,那么在编程学习的旅程中,您一定会接触到ASCII码和字符串的概念。ASCII码是一种用于计算机交互的标准编码,而Python则是一种使用方便、简单高效的编程语言。在此,我们将以ASCII码转化为字符串为中心,为您介绍一下如何在Python中编写相应的程序。

    2024-09-11
    26
  • redis的发布订阅「建议收藏」

    redis的发布订阅「建议收藏」简介 示例,订阅多个 通过正则匹配订阅多个

    2023-01-26
    144
  • 使用Python的Sleepy Tie库来构建HTTP客户端

    使用Python的Sleepy Tie库来构建HTTP客户端Sleepy Tie是一个基于Python 3编写的轻量级异步HTTP客户端库。它基于Python标准库中的asyncio和aiohttp模块,提供了简单易用的HTTP请求接口,支持异步和同步请求,以及SSL/TLS加密、HTTP代理等功能。Sleepy Tie库封装了aiohttp库的接口,使得使用者不需要了解HTTP协议的细节,就能快速构建高性能、高并发的HTTP客户端应用。

    2024-03-29
    77
  • leetcode176(第二高的薪水)–SQL查询实现「建议收藏」

    leetcode176(第二高的薪水)–SQL查询实现「建议收藏」求: 编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。 +—-+——–+ | Id | Salary | +—-+——–+ | 1 |…

    2023-03-30
    151
  • HDFS 常用操作命令

    HDFS 常用操作命令HDFS 文件操作命令 注,其实常用命令不用网上搜,和linux下的命令很类似,触类旁通,直接在linux 上 hadoop fs 看一下就行了,不需要刻意去记 我把 linux 上的 help 列举

    2023-03-18
    153
  • Selenium使用教程

    Selenium使用教程Selenium是一款功能强大的自动化测试框架,它可以模拟用户在浏览器中的各种操作,比如点击、输入等,通过自动化测试帮助开发人员减少手动测试的时间和成本,提高测试效率和代码质量。

    2024-07-09 14:30
    47
  • Python表达式必须具有整数类型解决方案

    Python表达式必须具有整数类型解决方案在Python语言中,有些表达式需要使用整数类型进行计算,但是当使用其他类型的数字进行计算时,会出现类型错误。例如:

    2024-02-02
    103
  • 建立表的sql命令是什么_为某个数据库创建表

    建立表的sql命令是什么_为某个数据库创建表学习要点 表通过 CREATE TABLE 语句创建而成。 表和列的命名要使用有意义的文字。 指定列的数据类型(整数型、字符型和日期型等)。 可以在表中设置约束(主键约束和 NOT NULL 约束等)

    2023-04-25
    139

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注