Py学习  »  Python

Python爬虫库Selenium是什么以及使用介绍?

蚂蚁学Python • 1 年前 • 688 次点击  

Selenium 是一个用于自动化 Web 应用程序测试的工具。它提供了一个用于测试网站的框架,可以模拟用户在浏览器中的操作,如点击链接、填写表单、提交数据等。Selenium 可以在多种浏览器和操作系统上运行,并且支持多种编程语言,如Python、Java、JavaScript等。通过编写测试脚本,开发人员可以使用 Selenium 来自动化执行各种 Web 应用程序的测试,以确保它们在不同环境下的正确运行。

怎样使用Selenium

Selenium 是一个功能强大的工具,用于自动化 Web 应用程序的测试。它支持多种编程语言,并提供了丰富的 API 来操作浏览器和 Web 元素。下面是 Selenium 的主要语法总结:

  1. 导入 Selenium 库:
from selenium import webdriver
  1. 创建浏览器对象:
driver = webdriver.Chrome()  # 使用 Chrome 浏览器
  1. 打开网页:
driver.get("https://www.example.com")
  1. 定位元素:
  • 通过 ID 定位:
element = driver.find_element_by_id("element_id")
  • 通过 class 名称定位:
element = driver.find_element_by_class_name("class_name")
  • 通过 XPath 定位:
element = driver.find_element_by_xpath("//xpath")
  1. 对元素执行操作:
  • 点击元素:
element.click()
  • 输入文本:
element.send_keys("text")
  1. 执行 JavaScript 代码:
driver.execute_script("javascript_code")
  1. 等待元素加载:
  • 强制等待(静态等待):
import time
time.sleep(5)  # 等待 5 秒
  • 隐式等待:
driver.implicitly_wait(10)  # 最多等待 10 秒
  • 显式等待:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

element = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.ID, "element_id"))
)
  1. 关闭浏览器:
driver.quit()

以上是 Selenium 的基本语法,可以根据具体的测试需求和场景进行更复杂的操作和处理。

重要知识:Selenium怎样使用xpath定位元素

使用 XPath 定位元素是 Selenium 中的一种常见方法,XPath 是一种用于在 XML 文档中定位元素的语言,同样也适用于 HTML 文档。下面是使用 XPath 定位元素的一般步骤:

  1. 使用绝对路径:
element = driver.find_element_by_xpath("/html/body/div[1]/div[2]/form/input[1]")
  1. 使用相对路径:
element = driver.find_element_by_xpath("//form/input[1]")
  1. 通过属性定位:
element = driver.find_element_by_xpath("//input[@name='username']")
  1. 通过文本内容定位:
element = driver.find_element_by_xpath("//button[text()='Submit']")
  1. 使用通配符定位:
element = driver.find_element_by_xpath("//div[contains(@class, 'message')]")
  1. 多个条件结合定位:
element = driver.find_element_by_xpath("//input[@id='username' and @type='text']")
  1. 定位父元素和子元素:
parent_element = driver.find_element_by_xpath("//div[@id='parent']")
child_element = parent_element.find_element_by_xpath(".//input[@name='child']")
  1. 定位兄弟元素:
sibling_element = driver.find_element_by_xpath("//input[@id='username']/following-sibling::input")
  1. 使用 XPath 轴定位:
element = driver.find_element_by_xpath("//input[@id='username']/ancestor::div")

在实际使用过程中,可以根据页面的结构和元素的属性来编写 XPath 表达式,以准确地定位到目标元素。同时,建议结合浏览器开发者工具中的 XPath 定位功能来调试和验证 XPath 表达式的准确性。


Python工作流程庞大且复杂。如果您熟练掌握,还有更多的内容需要学习

值得庆幸的是,您来对地方了!

我们提供由前百度资深大数据工程师主持的自定进度课程”Python零基础到全栈视频课程”您将通过大量的实践练习来学习Python入门、网络爬虫、数据分析、机器学习等内容。

如果您想了解培训如何进行,可以访问码易编程的官网:https://mayibiancheng.net/ 

有任何问题可以想咨询蚂蚁老师 ant_learn_python 微信账号。

点击下方链接,查看课程列表。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/166792