栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python操作网页

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python操作网页

Python操作网页 1、环境要求 1 模块要求 **selenium**2 模块安装 3) 驱动下载 2、启动浏览器3、启动网站4、经典案例分析1)刷新当前页面:2)获得当前窗口的窗口句柄:3) 最大化窗体4 切换到选择的 iframe5)切换标签页6)屏幕截图 5、声明

1、环境要求

python

1 模块要求 selenium
import os
import time
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
2 模块安装
pip install selenium
3) 驱动下载

官方支持的浏览器

google 淘宝源驱动 传送门
opera 淘宝源驱动 传送门
火狐 淘宝源驱动 传送门
Edge 微软源驱动 传送门
版本选择请保持和当前浏览器版本相同的驱动程序

本文测试采用Google浏览器 其他浏览器大同小异

2、启动浏览器
# chromedriver的文件位置
chrome_driver_path chromedriver.exe 
driver webdriver.Chrome(executable_path chrome_driver_path)
3、启动网站
url http://baidu.com 
driver.get(url)
4、经典案例分析 1)刷新当前页面:
driver.refresh()
2)获得当前窗口的窗口句柄:
driver.switch_to.window(driver.window_handles[-1])
driver.current_window_handle
3) 最大化窗体

某些特定的网站需要进行最大化 才能获取内部的元素

driver.maximize_window()
4 切换到选择的 iframe

内嵌网站时 使用switch_to.frame 切换到该位置进行操作

# 通过 id 切换框架
driver.switch_to.frame( iframe )
5)切换标签页
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# 启动驱动程序
chrome_driver_path chromedriver.exe 
driver webdriver.Chrome(executable_path chrome_driver_path )
# 打开网址
driver.get( https://blog.csdn.net/wenming111 )
# 设置等待
wait WebDriverWait(driver, 10)
# 存储原始窗口的 ID
original_window driver.current_window_handle
# 检查一下 我们还没有打开其他的窗口
assert len(driver.window_handles) 1
# 单击在新窗口中打开的链接
driver.find_element_by_class_name( .blog-list-box ).click()
# 等待新窗口或标签页
wait.until(EC.number_of_windows_to_be(2))
# 循环执行 直到找到一个新的窗口句柄
for window_handle in driver.window_handles:
 if window_handle ! original_window:
 driver.switch_to.window(window_handle)
 break
# 等待新标签页完成加载内容
wait.until(EC.title_is( 博客排行榜 ))
6)屏幕截图
from selenium import webdriver
driver webdriver.Chrome()
driver.get( https://blog.csdn.net/wenming111 )
driver.save_screenshot( ./image.png )
5、声明

1 本文来源项目实践 文章存在任何问题或疑问 请留言 感谢您的阅读
2 原创不易 转载请标注来源 感谢
3 made in wmgis

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/267786.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号