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

相关文章
|
2月前
|
JavaScript 前端开发 测试技术
Python Selenium基本用法
Python Selenium基本用法
34 2
|
3月前
|
Web App开发 数据采集 前端开发
基于Python的Selenium详解:从入门到实践
基于Python的Selenium详解:从入门到实践
119 0
|
18天前
|
前端开发 测试技术 C++
Python自动化测试面试:unittest、pytest与Selenium详解
【4月更文挑战第19天】本文聚焦Python自动化测试面试,重点讨论unittest、pytest和Selenium三大框架。unittest涉及断言、TestSuite和覆盖率报告;易错点包括测试代码冗余和异常处理。pytest涵盖fixtures、参数化测试和插件系统,要注意避免过度依赖unittest特性。Selenium的核心是WebDriver操作、等待策略和测试报告生成,强调智能等待和元素定位策略。掌握这些关键点将有助于提升面试表现。
25 0
|
27天前
|
Web App开发 测试技术 网络安全
|
29天前
|
数据采集 Web App开发 JavaScript
Python 网络爬虫技巧分享:优化 Selenium 滚动加载网易新闻策略
Python 网络爬虫技巧分享:优化 Selenium 滚动加载网易新闻策略
|
2月前
|
Web App开发 前端开发 JavaScript
Python Selenium是一个强大的自动化测试工具
Python Selenium是一个强大的自动化测试工具
|
2月前
|
Web App开发 测试技术 Python
使用 Python 结合 Selenium 访问一个 url
使用 Python 结合 Selenium 访问一个 url
28 0
|
2月前
|
Web App开发 安全 定位技术
关于使用 Python 和 Selenium chrome driver 访问 url 时修改 source ip 的问题
关于使用 Python 和 Selenium chrome driver 访问 url 时修改 source ip 的问题
60 0
|
3月前
|
数据采集 Web App开发 前端开发
Python爬虫之自动化测试Selenium#7
Selenium基本使用、查找结点、节点交互、动作链、获取节点信息、延时等待、前进后退、Cookies、选项卡管理、异常处理【2月更文挑战第26天】
46 1
Python爬虫之自动化测试Selenium#7
|
3月前
|
Python
Python selenium 页面滚动
Python selenium 页面滚动
14 0

热门文章

最新文章