当前位置: 首页 > news >正文

重庆帝一网络网站建设专家南京房地产网站

重庆帝一网络网站建设专家,南京房地产网站,营销策略有哪几种,网络会议系统appPython Selenium自动化操作详解:从入门到实战 一、Selenium简介 Selenium是一个用于Web应用程序自动化测试的工具,支持多种浏览器和编程语言。结合Python使用,可以实现: 自动化表单提交动态网页数据抓取功能测试网页交互模拟 二…

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()

http://www.dtcms.com/a/467114.html

相关文章:

  • 《K8s集群多节点部署》(Ubuntu22.04)
  • 做网站赚大钱php手机网站建设
  • 如何把网站主关键词做到百度首页中国重大新闻
  • 免费做app和网站的平台有哪些最贵网站建设多少钱
  • 36kr网站用什么做的wordpress开发人力资源
  • 亚马逊网站建设网站seo关键词排名优化
  • 软件下载网站如何履行北京外包公司都有哪些
  • 网站建设中出现的错误代码自己建立一个网页
  • 音乐网站开发 群云南百度推广开户
  • Linux_基本指令1
  • 优化网站设计请大学生做网站
  • 网站维护包括大学生网页设计报告
  • 计算机应用技术网站开发基础知识龙岗网站制作公司
  • 网站设计英文报告低价网站空间
  • 百度AI车牌识别配置指南
  • 网站建设开票的税收分类虚拟专用网络
  • 跟京东类似的网站营销最好的方法
  • 美食网站建设策划书范文公司在东莞建设网登记要多少钱
  • 天宁网站建设制作国际最新十大新闻事件
  • phpcms 移动网站模板代理服务器ip免费
  • 找网站建设都需要注意哪些wordpress浮动视频
  • 搜索的网站后大拇指分享数量不见了凡科快图入口
  • 网站界面设计说明网页版游戏推荐
  • 必应网站收录在哪wordpress备份到网盘
  • 杂志社网站建设意义免费的logo网站
  • 家电网站策划大型网站设计网站
  • 最好的网站设网站开发开发需求文档模板
  • 做水果网站平台万维网站建设
  • HTB:Expressway[WriteUP]
  • 公司做网站哪里好百度旗下的所有产品