PythonSelenium自动化操作详解:从入门到实战
- 软件开发
- 2025-08-28 12:00:01

Python Selenium自动化操作详解:从入门到实战
一、Selenium简介
Selenium是一个用于Web应用程序自动化测试的工具,支持多种浏览器和编程语言。结合Python使用,可以实现:
自动化表单提交动态网页数据抓取功能测试网页交互模拟二、环境搭建 1. 安装依赖库 pip install selenium 2. 浏览器驱动配置 浏览器驱动下载地址环境变量配置ChromeChromedriver将驱动文件放在Python安装目录或系统PATH路径
三、基础操作详解 1. 启动浏览器 from selenium import webdriver from selenium.webdriver.chrome.service import Service # 指定驱动路径 service = Service('/path/to/chromedriver') driver = webdriver.Chrome(service=service) 2. 网页操作 # 打开网页 driver.get(" .baidu ") # 获取当前URL current_url = driver.current_url # 刷新页面 driver.refresh() # 页面标题 print(driver.title)
四、元素定位八大方法 常用定位方式 # ID定位 search_input = driver.find_element("id", "kw") # Name定位 search = driver.find_element("name", "wd") # XPath定位(含等待) from selenium.webdriver mon.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.XPATH, "//input[@class='s_ipt']")) ) # CSS选择器 submit_btn = driver.find_element(By.CSS_SELECTOR, "#su")
五、典型操作案例 案例1:百度搜索自动化 # 启动浏览器 driver = webdriver.Chrome() try: driver.get(" .baidu ") # 输入搜索词 search_box = driver.find_element(By.ID, "kw") search_box.send_keys("Python Selenium教程") # 点击搜索按钮 search_btn = driver.find_element(By.ID, "su") search_btn.click() # 等待结果加载 WebDriverWait(driver, 5).until( EC.title_contains("Python Selenium教程") ) # 截图保存 driver.save_screenshot("search_results.png") finally: driver.quit() 案例2:模拟登录(以知乎为例) def zhihu_login(username, password): driver.get(" .zhihu /signin") # 切换至密码登录 driver.find_element(By.CLASS_NAME, "SignFlow-tab").click() # 填写表单 driver.find_element(By.NAME, "username").send_keys(username) driver.find_element(By.NAME, "password").send_keys(password) # 处理验证码(需人工干预) input("请手动完成验证码后按回车继续...") # 提交登录 driver.find_element(By.CSS_SELECTOR, ".SignFlow-submitButton").click() # 验证登录成功 WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.CLASS_NAME, "AppHeader-userAvatar")) )
六、高级技巧 1. 执行JavaScript # 滚动到页面底部 driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") # 修改元素属性 driver.execute_script("arguments[0].style.border='3px solid red'", element) 2. 处理iframe # 切换至iframe iframe = driver.find_element(By.TAG_NAME, "iframe") driver.switch_to.frame(iframe) # 操作iframe内元素 driver.find_element(By.ID, "inner_element").click() # 切回主文档 driver.switch_to.default_content()
七、注意事项 驱动版本:确保浏览器与驱动版本严格匹配元素等待:使用显式等待(WebDriverWait)代替time.sleep()反爬机制:合理设置操作间隔,避免触发反爬资源释放:务必在结束时调用driver.quit()
PythonSelenium自动化操作详解:从入门到实战由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“PythonSelenium自动化操作详解:从入门到实战”