Python操作网页

  • 1、环境要求:
    • 1)模块要求:**selenium**
    • 2)模块安装:
    • 3) 驱动下载
  • 2、启动浏览器
  • 3、启动网站
  • 4、经典案例分析
    • 1)刷新当前页面:
    • 2)获得当前窗口的窗口句柄:
    • 3) 最大化窗体
    • 4)切换到选择的 iframe
    • 5)切换标签页
    • 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 webdriverdriver = webdriver.Chrome()
driver.get("https://blog.csdn.net/wenming111")
# 截屏
driver.save_screenshot('./image.png')

5、声明

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

Python操作网页相关推荐

  1. python操作网页游戏_教你写页游自动化Python脚本 1.界面篇(模仿某键精灵)[Python3]...

    自学py写的第一个脚本 本教程为新手向废话少说,下面开始教程 我们先用tkinter搭建好脚本的基本界面 首先导入tkinter,需要事先用pip安装进python里(方法自行百度) import t ...

  2. python操作网页界面_python3 操作页面上各种元素的方法

    (1)       控制浏览器 ①控制浏览器窗口大小set_window_size(宽,高) 打开浏览器全屏maximize_window() ②控制浏览器后退back().前进forward() ③ ...

  3. python操作网页flash视频_Python爬取FLASH播放器中的资料

    Python爬取FLASH播放器中的资料. 一.首先了解一下AMF协议:AMF(Action Message Format)是Flash与服务端通信的一种常见的二进制编码模式,其传输效率高,可以在HT ...

  4. Python+django网页设计入门(7):常用ORM操作

    前导课程: Python+django网页设计入门(6):文件上传与数据导入 Python+django网页设计入门(5):自定义用户注册与登录功能 Python+django网页设计入门(4):用户 ...

  5. Python(9):利用selenium操作网页并抓取内容

    因为项目原因,需要获取中国所有铁路线路及车次信息,但是并没有任何网站或文章直接将所有信息整合在一起提供出来,因此只能自己从页面上扒. 这里利用到了python的selenium模块,自动定位操作网页, ...

  6. python刷题一亩三分地_手把手教你用python抓网页数据【一亩三分地论坛数据科学版】...

    前言:. visit 1point3acres.com for more. 数据科学越来越火了,网页是数据很大的一个来源.最近很多人问怎么抓网页数据,据我所知,常见的编程语言(C++,java,pyt ...

  7. python资料库-Python操作三大主流数据库

    学会使用的技术栈:python flask redis mongoDB mysql 第1章 数据库简介 简单介绍Mysql.数据库简介.导学篇 第2章 mysql基础 XAMPP 集成好的 最流行的P ...

  8. python安装之后怎么打开-安装python后如何通过Python打开网页

    Python中可以通过selenium webdriver和webbrowser方法打开网页. 一.selenium webdriver 1.首先需要安装selenium和webdriver pip ...

  9. python 下载网页文件_『如何用python把网页上的文本内容保存下来』python爬取网页内容教程...

    python爬虫:如何爬网页数据并将其放在文本 用requests库 r=r.requests.get(url) r.concent 保存到文件里就行了 如何用python把网页上的文本内容保存下来 ...

最新文章

  1. 定题信息服务是从什么角度_格木教育谢浩浩:事业单位综合应用概念分析题之角度界定技巧...
  2. 3.1.8 具有快表的地址变换机构
  3. Linux Shell编程第四篇case语句
  4. poj1419 Graph Coloring 最大独立集(最大团)
  5. 小程序原生组件调用mpvue父组件方法
  6. mysql导入source数据库sql的C++实现和封装
  7. 嵌入式Linux要学哪些东西?你真的造吗?
  8. FreeRTOS中列表和列表项插入函数分析
  9. C#与C++在语言层面的区别(不断补充)
  10. java redis监听问题_springboot+redis过期事件监听实现过程解析
  11. 【开源项目】二、Smart Admin 通用型中后台解决方案
  12. libtorrent源码分析(一)整体框架
  13. cmos逻辑门传输延迟时间_02. 码制与逻辑运算
  14. android删除cache文件夹,Android开发之删除项目缓存的方法
  15. 【C#实现猜数字游戏】
  16. 7-10 抢楼层 (20分) ---注意歧义啊!
  17. java的体重_标准体重计算示例代码
  18. OpenCV曝光参数和快门时间的对应关系
  19. 第五届强网杯全国网络安全挑战赛writeup
  20. c语言编译功率谱密度函数,科学网—6、功率谱密度函数估计 - 柏世平的博文

热门文章

  1. Django项目部署至华为云服务器
  2. Git 版本回退方法
  3. 从战略到执行:业务领先模型 BLM 战略篇「战略意图」
  4. 瓜娃系列 (6) - ComparisonChain和primitives包
  5. 解决String cannot be cast to java.util.List报错
  6. 04Reverse基础(五)
  7. PHP 图片木马隐写方法及靶机演示
  8. 牛客练习赛68 A.牛牛的mex
  9. 智慧环卫管理系统方案
  10. 利用百度身份证识别服务和python语言实现身份证信息的提取和保存