0


【Python技术学习】- python selenium 库

安装 Selenium 和 WebDriver

安装 Selenium

要开始使用 Selenium,首先需要安装 selenium 库,并下载适用于你浏览器的 WebDriver。

使用 pip 安装 Selenium:

pip install selenium

下载WebDriver

Selenium 需要一个 WebDriver 来与浏览器进行交互。

不同的浏览器需要不同的 WebDriver,例如 Chrome 浏览器需要 ChromeDriver,你需要根据你使用的浏览器下载相应的 WebDriver,并确保它在你的系统 PATH 中。

  • Chrome: ChromeDriver
  • Firefox: GeckoDriver
  • Edge: EdgeDriver

基本用法

初始化 WebDriver

选择浏览器并初始化 WebDriver:

实例

from selenium import webdriver

使用 Chrome 浏览器

driver = webdriver.Chrome(executable_path='/path/to/chromedriver')

或者使用 Firefox 浏览器

driver = webdriver.Firefox(executable_path='/path/to/geckodriver')

或者使用 Edge 浏览器

driver = webdriver.Edge(executable_path='/path/to/msedgedriver')

打开网页

使用 get() 方法打开网页:

driver.get("https://www.baidu.com")

查找页面元素

可以通过多种方式查找页面元素,例如使用 ID、类名、标签名等:

实例

通过 ID 查找元素

search_box = driver.find_element("id", "kw")

通过类名查找元素

search_button = driver.find_element("class name", "s_ipt")

通过标签名查找元素

links = driver.find_elements("tag name", "a")

模拟用户操作

Selenium 可以模拟用户在浏览器中的操作,例如点击、输入文本等:

实例

在搜索框中输入文本

search_box.send_keys("Selenium Python")

点击搜索按钮

search_button.click()

获取元素属性和文本

可以获取页面元素的属性值或文本内容:

实例

获取元素的文本

element_text = search_box.text

获取元素的属性值

element_attribute = search_box.get_attribute("placeholder")

等待

有时页面加载需要时间,可以使用显式等待或隐式等待来确保元素可操作:

实例

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

显式等待

element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "kw"))
)

隐式等待

driver.implicitly_wait(10)

关闭浏览器

操作完成后,记得关闭浏览器:

driver.quit()

简单的网页自动化

下面是一个简单的 Selenium 项目示例,用于自动化搜索关键词,并获取结果页面的标题。

实例

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

初始化 WebDriver(记得替换路径)

driver = webdriver.Chrome(executable_path='/path/to/chromedriver')

try:
# 打开百度首页
driver.get("https://www.baidu.com")

 # 查找搜索框元素
 search_box = driver.find_element(By.ID, "kw")

 # 输入搜索内容
 search_box.send_keys("Selenium Python")

 # 提交搜索表单
 search_box.send_keys(Keys.RETURN)

 # 等待搜索结果加载
 WebDriverWait(driver, 10).until(
     EC.presence_of_element_located((By.ID, "content_left"))
 )

 # 打印页面标题
 print("页面标题是:", driver.title)

finally:
# 关闭浏览器
driver.quit()


selenium 常用方法

下表列出了 selenium 库的常用方法:
方法说明示例代码

webdriver.Chrome()

初始化 Chrome 浏览器实例。

driver = webdriver.Chrome()
driver.get(url)

访问指定的 URL 地址。

driver.get("https://example.com")
driver.find_element(By, value)

查找第一个匹配的元素。

element = driver.find_element(By.ID, "id")
driver.find_elements(By, value)

查找所有匹配的元素。

elements = driver.find_elements(By.CLASS_NAME, "class")
element.click()

点击元素。

element.click()
element.send_keys(value)

向输入框中发送键盘输入。

element.send_keys("text")
element.text

获取元素的文本内容。

text = element.text
driver.back()

浏览器后退。

driver.back()
driver.forward()

浏览器前进。

driver.forward()
driver.refresh()

刷新当前页面。

driver.refresh()
driver.execute_script(script, *args)

执行 JavaScript 脚本。

driver.execute_script("alert('Hello!')")
driver.switch_to.frame(frame_reference)

切换到指定的 iframe。

driver.switch_to.frame("frame_id")
driver.switch_to.default_content()

切换回主文档。

driver.switch_to.default_content()
driver.quit()

关闭浏览器并退出驱动。

driver.quit()
driver.close()

关闭当前窗口。

driver.close()
标签: python 学习 selenium

本文转载自: https://blog.csdn.net/xiaoli8748/article/details/141948951
版权归原作者 xiaoli8748_软件开发 所有, 如有侵权,请联系我们删除。

“【Python技术学习】- python selenium 库”的评论:

还没有评论