Selenium
是一个用于自动化 Web 浏览器交互的工具,它支持多种语言,包括 Python。在 Python 中,Selenium 通常与 WebDriver 一起使用,WebDriver 是一个接口,允许你与浏览器进行通信。
下面是一些 Selenium 在 Python 中的常用语法和示例:
- 导入必要的库
pythonfrom selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
- 启动浏览器并打开页面
pythondriver = webdriver.Chrome() # 假设你安装了 ChromeDriver
driver.get("https://www.example.com")
- 查找元素
python# 通过 ID 查找
element_by_id = driver.find_element(By.ID, "element_id")
# 通过 Name 查找
element_by_name = driver.find_element(By.NAME, "element_name")
# 通过 Class Name 查找
element_by_class_name = driver.find_element(By.CLASS_NAME, "element_class")
# 通过 Tag Name 查找
element_by_tag_name = driver.find_element(By.TAG_NAME, "element_tag")
# 通过 XPath 查找
element_by_xpath = driver.find_element(By.XPATH, "//xpath/expression")
# 通过 CSS Selector 查找
element_by_css_selector = driver.find_element(By.CSS_SELECTOR, "css_selector")
- 与元素交互
python# 点击元素
element.click()
# 输入文本
element.send_keys("Hello, World!")
# 清除文本
element.clear()
# 提交表单
element.submit()
- 等待元素出现
python# 显式等待,等待特定元素可见
wait = WebDriverWait(driver, 10) # 最多等待 10 秒
element = wait.until(EC.visibility_of_element_located((By.ID, "element_id")))
# 隐式等待,设置全局等待时间
driver.implicitly_wait(10) # 设置全局等待时间为 10 秒
- 关闭浏览器和窗口
python# 关闭当前窗口
driver.close()
# 关闭所有窗口,并退出浏览器
driver.quit()
- 处理多个窗口
python# 打开新窗口
driver.execute_script("window.open('');")
# 切换到新窗口
driver.switch_to.window(driver.window_handles[-1])
# 切换回主窗口
driver.switch_to.window(driver.window_handles[0])
- 滚动页面
python# 滚动到页面底部
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
# 滚动到指定位置
driver.execute_script("window.scrollTo(x_coordinate, y_coordinate);")
- 获取页面标题、URL 等
python# 获取页面标题
title = driver.title
# 获取当前页面的 URL
url = driver.current_url
- 处理弹窗
python# 切换到 alert
alert = driver.switch_to.alert
# 获取 alert 文本
text = alert.text
# 接受 alert
alert.accept()
# 取消 alert
alert.dismiss()
6 条评论
2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新车上路,只带前10个人coinsrore.com
新盘首开 新盘首开 征召客户!!!coinsrore.com
新项目准备上线,寻找志同道合的合作伙伴coinsrore.com
新车即将上线 真正的项目,期待你的参与coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com
这篇文章提供了宝贵的经验和见解,对读者有很大的启发和帮助。
批判锋芒犀利,直指问题症结所在。
老话题新解读,展现了深刻的反思精神。