2026/2/7 20:41:46
网站建设
项目流程
网站设计创意方案,网站建设费税率多少,有哪些平台可以发布厂家信息,代运营电商机构Selenium 是一款用于模拟浏览器行为的自动化测试工具#xff0c;也是爬虫领域中处理动态渲染页面#xff08;如 JS 加载、Ajax 请求、登录验证等#xff09;的核心工具。一、导入库from selenium import webdriverfrom selenium.webdriver.edge.options import Optionsfrom …Selenium 是一款用于模拟浏览器行为的自动化测试工具也是爬虫领域中处理动态渲染页面如 JS 加载、Ajax 请求、登录验证等的核心工具。一、导入库from selenium import webdriver from selenium.webdriver.edge.options import Options from selenium.webdriver.common.by import By import time # edge_options Options() edge_options.binary_locationrC:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe # ##edge浏览器的地址 driver webdriver.Edge(optionsedge_options)1.导入相关库的函数from selenium import webdriverfrom selenium.webdriver.edge.options import Optionsfrom selenium.webdriver.common.by import By2.导入edge浏览器的内核edge_options.binary_locationrC:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe二、核心操作浏览器与页面控制1.基础操作打开页面driver.get(https://www.example.com)访问目标 URL刷新页面driver.refresh()刷新当前页面前进 / 后退driver.forward()/driver.back()模拟浏览器前进 / 后退窗口大小driver.set_window_size(1920, 1080)设置窗口尺寸全屏driver.maximize_window()窗口最大化关闭窗口driver.close()关闭当前标签页退出浏览器driver.quit()关闭所有标签页并退出驱动必写否则进程残留2.页面元素定位定位元素是 Selenium 操作的基础优先使用唯一标识id/name其次用 XPath/CSS 选择器避免用索引易变。IDfind_element(By.ID, id值)driver.find_element(By.ID, username)元素有唯一 IDNamefind_element(By.NAME, name值)driver.find_element(By.NAME, password)元素有 name 属性Class Namefind_element(By.CLASS_NAME, 类名)driver.find_element(By.CLASS_NAME, btn-submit)类名唯一Tag Namefind_element(By.TAG_NAME, 标签名)driver.find_element(By.TAG_NAME, input)标签唯一如单个 inputLink Textfind_element(By.LINK_TEXT, 链接文本)driver.find_element(By.LINK_TEXT, 登录)精准匹配超链接文本Partial Link Textfind_element(By.PARTIAL_LINK_TEXT, 部分文本)driver.find_element(By.PARTIAL_LINK_TEXT, 登)模糊匹配超链接XPathfind_element(By.XPATH, XPath表达式)driver.find_element(By.XPATH, //*[idusername])复杂定位万能CSS Selectorfind_element(By.CSS_SELECTOR, CSS表达式)driver.find_element(By.CSS_SELECTOR, #username)高效定位推荐3.元素交互# 1. 点击元素按钮/链接/复选框 btn_elem driver.find_element(By.CLASS_NAME, submit-btn) btn_elem.click() # 2. 获取元素属性/文本 elem driver.find_element(By.XPATH, //div[classcontent]) print(elem.text) # 获取元素可见文本 print(elem.get_attribute(href)) # 获取href属性 print(elem.get_attribute(innerHTML)) # 获取内部HTML # 3. 输入文本先清空再输入 input_elem driver.find_element(By.ID, username) input_elem.clear() # 清空输入框 input_elem.send_keys(test123) # 输入内容执行Javascript 代码可以将页面滚动到底部。driver.execute_script(window.scrollTo(0,document.body.scrollHeight))4.等待渲染可以通过time函数用sleep方法等待