当前位置: 首页> 汽车> 行情 > 企业网站建设性能分析_济南将开展治堵十大行动_安卓优化大师下载安装到手机_沈阳网站建设制作公司

企业网站建设性能分析_济南将开展治堵十大行动_安卓优化大师下载安装到手机_沈阳网站建设制作公司

时间:2025/7/11 11:12:55来源:https://blog.csdn.net/m0_53073183/article/details/145740043 浏览次数: 0次
企业网站建设性能分析_济南将开展治堵十大行动_安卓优化大师下载安装到手机_沈阳网站建设制作公司

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("https://www.baidu.com")# 获取当前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.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ECelement = 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("https://www.baidu.com")# 输入搜索词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("https://www.zhihu.com/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()

七、注意事项

  1. 驱动版本:确保浏览器与驱动版本严格匹配
  2. 元素等待:使用显式等待(WebDriverWait)代替time.sleep()
  3. 反爬机制:合理设置操作间隔,避免触发反爬
  4. 资源释放:务必在结束时调用driver.quit()

关键字:企业网站建设性能分析_济南将开展治堵十大行动_安卓优化大师下载安装到手机_沈阳网站建设制作公司

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: