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

相关文章
|
1天前
|
数据采集 Web App开发 存储
打造高效的Web Scraper:Python与Selenium的完美结合
本文介绍如何使用Python结合Selenium,通过代理IP、设置Cookie和User-Agent抓取BOSS直聘的招聘信息,包括公司名称、岗位、要求和薪资。这些数据可用于行业趋势、人才需求、企业动态及区域经济分析,为求职者、企业和分析师提供宝贵信息。文中详细说明了环境准备、代理配置、登录操作及数据抓取步骤,并提醒注意反爬虫机制和验证码处理等问题。
打造高效的Web Scraper:Python与Selenium的完美结合
|
3月前
|
数据采集 Web App开发 前端开发
Python爬虫进阶:Selenium在动态网页抓取中的实战
【10月更文挑战第26天】动态网页抓取是网络爬虫的难点,因为数据通常通过JavaScript异步加载。Selenium通过模拟浏览器行为,可以加载和执行JavaScript,从而获取动态网页的完整内容。本文通过实战案例,介绍如何使用Selenium在Python中抓取动态网页。首先安装Selenium库和浏览器驱动,然后通过示例代码展示如何抓取英国国家美术馆的图片信息。
197 6
|
4月前
|
数据采集 Web App开发 数据可视化
Python爬虫教程:Selenium可视化爬虫的快速入门
Python爬虫教程:Selenium可视化爬虫的快速入门
|
4月前
|
Web App开发 前端开发 JavaScript
探索Python科学计算的边界:利用Selenium进行Web应用性能测试与优化
【10月更文挑战第6天】随着互联网技术的发展,Web应用程序已经成为人们日常生活和工作中不可或缺的一部分。这些应用不仅需要提供丰富的功能,还必须具备良好的性能表现以保证用户体验。性能测试是确保Web应用能够快速响应用户请求并处理大量并发访问的关键步骤之一。本文将探讨如何使用Python结合Selenium来进行Web应用的性能测试,并通过实际代码示例展示如何识别瓶颈及优化应用。
227 5
|
4月前
|
测试技术 数据安全/隐私保护 开发者
自动化测试的奥秘:如何用Selenium和Python提升软件质量
【9月更文挑战第35天】在软件开发的海洋中,自动化测试是那艘能引领我们穿越波涛的帆船。本文将揭开自动化测试的神秘面纱,以Selenium和Python为工具,展示如何构建一个简单而强大的自动化测试框架。我们将从基础出发,逐步深入到高级应用,让读者能够理解并实现自动化测试脚本,从而提升软件的质量与可靠性。
|
5月前
|
Web App开发 测试技术 持续交付
自动化测试的利器:Selenium与Python的完美结合
【9月更文挑战第21天】在软件开发的世界里,测试是确保产品质量的关键步骤。随着敏捷开发和持续集成的流行,自动化测试工具变得尤为重要。本文将介绍如何使用Selenium和Python进行高效的自动化测试,不仅提供代码示例,还深入探讨如何设计测试用例、选择正确的测试框架、以及如何整合到CI/CD流程中。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和实用的技巧。
88 3
|
5月前
|
敏捷开发 测试技术 持续交付
自动化测试之美:如何用Selenium和Python打造高效测试脚本
【9月更文挑战第13天】在软件开发的海洋中,自动化测试是那抹不可或缺的亮色。它不仅提升了测试效率,还保障了产品质量。本文将带你领略使用Selenium和Python构建自动化测试脚本的魅力所在,从环境的搭建到脚本的编写,再到问题的排查,每一步都是对软件质量把控的深刻理解和实践。让我们开始这段探索之旅,解锁自动化测试的秘密吧!
111 0
|
6月前
|
Web App开发 测试技术 持续交付
探索自动化测试:以Selenium和Python为例
【8月更文挑战第31天】自动化测试在现代软件开发中扮演着不可或缺的角色。本文将通过一个简化的示例,展示如何使用Selenium和Python进行Web应用的自动化测试。我们将从安装必要的工具开始,逐步构建一个简单的测试脚本,并执行它来验证其功能。通过这个过程,我们旨在揭示自动化测试的价值,并激励读者深入探索这一领域。
|
6月前
|
Web App开发 安全 测试技术
自动化测试中的Python魔法:使用Selenium和pytest框架
【8月更文挑战第31天】 在软件开发的海洋中,自动化测试是确保航行安全的灯塔。本文将带你探索如何利用Python语言结合Selenium和pytest框架,搭建一套高效的自动化测试体系。我们将从基础设置讲起,逐步深入到编写测试用例,最后通过一个实战案例来展示如何在实际项目中运用这些工具。文章旨在为读者提供一套清晰的自动化测试解决方案,让你的开发之旅更加顺畅。
|
6月前
|
Web App开发 测试技术 API
探索自动化测试的奥秘:以Selenium和Python为例
【8月更文挑战第31天】在软件开发的海洋中,自动化测试是一艘能够带领我们驶向高效、准确代码实现的航船。本文将揭开自动化测试的神秘面纱,通过Selenium和Python这两个工具的结合使用,展示如何构建一个简单而强大的自动化测试脚本。从环境配置到脚本编写,再到实际运行,我们将一步步深入自动化测试的世界,解锁软件质量保障的新技能。

热门文章

最新文章

推荐镜像

更多