python Selenium

简介: selenium基本操作

安装selenium

pip install selenium

下载浏览器驱动

驱动下载完成后放入python根目录,selenium会自动解析

火狐浏览器驱动

谷歌浏览器驱动

ie/edge浏览器驱动

API 大全来喽

  • 八大元素定位

    • id

      from selenium import webdriver
      from selenium.webdriver.common.by import By
      
      driver = webdriver.Edge()
      driver.get("https://steam-404.github.io/")
      driver.find_element(By.ID, "id")
      
    • name

      from selenium import webdriver
      from selenium.webdriver.common.by import By
      
      driver = webdriver.Edge()
      driver.get("https://steam-404.github.io/")
      driver.find_element(By.NAME, "name")
      
    • class_name

      from selenium import webdriver
      from selenium.webdriver.common.by import By
      
      driver = webdriver.Edge()
      driver.get("https://steam-404.github.io/")
      driver.find_element(By.CLASS_NAME, "class_name")
      
    • link_text

      from selenium import webdriver
      from selenium.webdriver.common.by import By
      
      driver = webdriver.Edge()
      driver.get("https://steam-404.github.io/")
      driver.find_element(By.LINK_TEXT, "link_text")
      
    • partial_link_text

      from selenium import webdriver
      from selenium.webdriver.common.by import By
      
      driver = webdriver.Edge()
      driver.get("https://steam-404.github.io/")
      driver.find_element(By.PARTIAL_LINK_TEXT, "partial_link_text")
      
    • tag_name

      from selenium import webdriver
      from selenium.webdriver.common.by import By
      
      driver = webdriver.Edge()
      driver.get("https://steam-404.github.io/")
      driver.find_element(By.TAG_NAME, "tag_name")
      
    • xpath

      • xpath相对定位

        from selenium import webdriver
        from selenium.webdriver.common.by import By
        
        driver = webdriver.Edge()
        driver.get("https://steam-404.github.io/")
        driver.find_element(By.XPATH, "//botton")
        
      • xpath绝对定位

        from selenium import webdriver
        from selenium.webdriver.common.by import By
        
        driver = webdriver.Edge()
        driver.get("https://steam-404.github.io/")
        driver.find_element(By.XPATH, "/html/body/div/button/")
        
    • css

      from selenium import webdriver
      from selenium.webdriver.common.by import By
      
      driver = webdriver.Edge()
      driver.get("https://steam-404.github.io/")
      driver.find_element(By.CSS_SELECTOR, ".ikun")
      
  • 浏览器常用api

    ```python
    from selenium import webdriver
    from selenium.webdriver.common.by import By

    driver = webdriver.Edge()

    选择Edge驱动

    driver.get("https://steam-404.github.io")

    打开指定页面

    driver.maximize_window()

    浏览器窗口最大化

    driver.minimize_window()

    浏览器窗口最小化

    driver.set_window_size(1920, 1080)

    设置浏览器窗口大小

    title = driver.title

    获取网页标题

    url = driver.current_url

    获取当前URL

    driver.back()

    页面后退

    driver.forward()

    页面前进

    driver.refresh()

    页面刷新

    driver.implicitly_wait(0.5)

    隐式等待

    message = driver.find_element(By.ID, "id").text

    获取元素文本

    alert = driver.switch_to.alert

    捕获弹窗

    print(alert.text)

    获取弹窗文本

    alert.accept()

    点击确定按钮

    alert.dismiss()

    点击取消按钮

    alert.send_keys("xxx")

    向弹窗内写入内容

    driver.quit()

    结束会话,关闭浏览器


  • 鼠标键盘事件
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver import ActionChains

driver = webdriver.Edge()
driver.get("https://steam-404.github.io/")
ikun = driver.find_element(By.ID, 'id')
# 随便找一个实体元素
ActionChains.click(ikun)
# 鼠标点击
ActionChains.perform(ikun)
# 提交表单
ActionChains.context_click(ikun)
# 鼠标右击
ActionChains.double_click(ikun)
# 鼠标双击
ActionChains.move_to_element(ikun)
# 鼠标悬停

Keys.BACK_SPACE(ikun)
# 回退
Keys.SPACE(ikun)
# 空格
Keys.CONTROL(ikun)
# ctrl
Keys.F1(ikun)
# F1键
Keys.CONTROL('c')
# ctrl和c组合键

更多内容请查看官方文档

Selenium 浏览器自动化 | Selenium

相关文章
|
12天前
|
前端开发 JavaScript Java
【实操】SpringBoot监听Iphone15邮件提醒,Selenium+Python自动化抢购脚本
本文介绍了一个结合SpringBoot和Python的实用功能,旨在监控iPhone 15的库存状态并通过邮件提醒用户。系统采用SpringBoot监听苹果官网API,解析JSON数据判断是否有货,并展示最近的库存记录。此外,还能自动触发Selenium+Python脚本实现自动化购买。文中详细介绍了技术栈、接口分析、邮件配置及自动化脚本的设置方法。该项目不仅适用于熟悉后端开发的人员,也适合回顾Layui和Jquery等前端技术。
34 0
【实操】SpringBoot监听Iphone15邮件提醒,Selenium+Python自动化抢购脚本
|
30天前
|
Web App开发 数据可视化 Python
Python Selenium获取boss直聘招聘信息
Python Selenium获取boss直聘招聘信息
35 5
Python Selenium获取boss直聘招聘信息
|
13天前
|
数据采集 人工智能 数据可视化
Python selenium爬虫被检测到,该怎么破?
Python selenium爬虫被检测到,该怎么破?
|
30天前
|
数据采集 Python
如何用Python Selenium和WebDriver抓取LinkedIn数据并保存登录状态
本文介绍了使用Python Selenium和WebDriver库抓取LinkedIn数据的方法。首先,安装Selenium库和对应的WebDriver,然后配置爬虫代理IP以避免频繁请求被检测。接下来,设置user-agent和cookies以模拟真实用户行为,实现登录并保持状态。登录后,使用WebDriver抓取目标页面数据,如用户名、年龄、性别和简历信息。最后,强调了优化代码、处理异常和遵守使用条款的重要性,以提高效率并避免账号被封禁。
如何用Python Selenium和WebDriver抓取LinkedIn数据并保存登录状态
|
12天前
|
Web App开发 测试技术 API
自动化测试之美:使用Selenium和Python进行Web应用测试
【8月更文挑战第31天】在软件开发的快节奏世界中,自动化测试如同一束明灯,照亮了质量保证之路。本文将引导你通过Selenium和Python的强大组合,探索如何构建高效的Web应用测试框架。我们不仅会讨论理论,还会深入代码,从一个简单的示例开始,逐步扩展至更复杂的场景。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和实用的技巧。让我们一同揭开自动化测试的神秘面纱,体验它的魅力所在。
|
12天前
|
Web App开发 XML 测试技术
自动化测试框架设计:以Python和Selenium为例
【8月更文挑战第31天】在软件开发的快节奏中,自动化测试成为确保产品质量的关键步骤。本文将引导读者了解如何结合Python语言和Selenium工具来设计一个高效的自动化测试框架。通过浅显易懂的语言和实际代码示例,我们将探索自动化测试框架的核心组件,并学习如何实现它们。无论你是测试新手还是希望提升自动化技能的开发者,这篇文章都将为你打开一扇通向高效软件测试的大门。
|
14天前
|
敏捷开发 测试技术 数据安全/隐私保护
自动化测试的高效之路:如何利用Python和Selenium提升测试效率
【8月更文挑战第28天】本文旨在探讨通过Python语言结合Selenium框架来提高软件测试的效率。文章不仅介绍了自动化测试的基本概念,还提供了具体的代码示例,帮助读者理解如何实现自动化测试脚本,并指出了在实施过程中可能遇到的问题及其解决方案。通过本文,读者将学会如何有效地使用Python和Selenium工具,以减少重复性工作,提升测试流程的效率与准确性。
|
16天前
|
Web App开发 测试技术 持续交付
自动化测试之美:如何利用Selenium和Python提升测试效率
【8月更文挑战第27天】在软件开发的海洋中,自动化测试犹如一艘高速航行的帆船,让质量保证的过程更加迅速而精准。本文将引导你了解如何结合Selenium和Python这两大利器,构建强大的自动化测试框架,从而显著提升测试工作的效率和效果。通过深入浅出的讲解,我们不仅会探索这两个工具的基本使用方法,还会学习如何设计高效的测试用例,以及如何处理测试过程中遇到的各种问题。无论你是测试新手还是希望提高测试技能的开发者,这篇文章都将为你打开一扇通往更高效测试世界的大门。
|
27天前
|
Web App开发 数据采集 测试技术
五分钟轻松掌握 Python 自动化测试 Selenium
本文主要介绍了 Selenium 相关内容,主要涉及 Selenium 知识面,从开始的 Python 小案例,到后面的 API 全面了解,以及 Selenium 的常用功能,到最后的 XPATH 以及爬虫的认知。这些内容已经能够全面,且具有实践性。
|
11天前
|
Web App开发 测试技术 持续交付
探索自动化测试:以Selenium和Python为例
【8月更文挑战第31天】自动化测试在现代软件开发中扮演着不可或缺的角色。本文将通过一个简化的示例,展示如何使用Selenium和Python进行Web应用的自动化测试。我们将从安装必要的工具开始,逐步构建一个简单的测试脚本,并执行它来验证其功能。通过这个过程,我们旨在揭示自动化测试的价值,并激励读者深入探索这一领域。