前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Selenium获取网页源码

Selenium获取网页源码

作者头像
Altumn
发布于 2019-10-21 09:33:38
发布于 2019-10-21 09:33:38
6.1K00
代码可运行
举报
运行总次数:0
代码可运行

写在前面

Python+Selenium可以做网络爬虫。所以,我们可以从网页源码中爬出想要的信息。

Selenium的page_source方法可以获取到页面源码。获取到源码以后可以再查找自己想要的信息。

源码保存

为了方便查看网页源码,我们可以借用python提供的方法,将获取到的网页源码写入到html文件中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#get_source.py
#www.testclass.cn
#Altumn
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.testclass.cn/")
driver.maximize_window()
driver.implicitly_wait(10)
page = driver.page_source

#打印源码,防止乱码加上编码格式;
print(page.encode("utf8"))

#保存网页源码名称为:testclass_cn.html,存储路径为工程根目录;
f=open('./testclass_cn.html',mode="w",encoding="utf-8")
f.write(page)

存储的网页效果(局部截图):

源码操作

成功获取源码以后,我们可以在源码中继续查找想要的信息。

例如,我想要获取该页面上所有关于‘.html’链接的信息。或者我们把抓取的URL集保存到本地文档中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#get_source.py
#www.testclass.cn
#Altumn
from selenium import webdriver
import re
driver = webdriver.Chrome()
driver.get("https://www.testclass.cn/")
driver.maximize_window()
driver.implicitly_wait(10)
page = driver.page_source

#用正则表达式匹配URL;
url_list = re.findall('href=\"(.*?)\"', page, re.S)
#打印出含有".html"URLfor url in url_list:    
    if ".html" in url: 
        print(url)
#存储获取到的URL到data.txt;
with open('data.txt','w') as f:    
    for url in url_list:
        f.write(url + '\n')

上面主要介绍了Selenium获取网页源码的基本操作方法,如果想要精通爬虫,需要掌握一门语言如python,然后熟悉使用正则表达式,了解网页html结构等一大箩筐技能。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-04-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试testclass 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Selenium常用的元素等待方法
日常的UI自动化测试,单步调试的时候元素可以定位到,并且可以正常操作,但是在跑测试案例流程的时候反而报错。这时就需要考虑是否界面的切换,或者功能的跳转缓慢导致元素未加载完成就执行了操作,所以我们需要加上元素等待。WebDriver提供了几种类型的等待:强制等待、显式等待和隐式等待。
Altumn
2019/10/21
1.7K0
Selenium元素定位
find_element_by_id() find_element_by_name() find_element_by_class_name() find_element_by_tag_name() find_element_by_link_text() find_element_by_partial_link_text() find_element_by_xpath() find_element_by_css_selector() 在这里将对各种元素定位方式统一使用百度首页进行示例,详细操作步骤有以下内容: 1.打开浏览器,进入百度首页(www.baidu.com); 2.百度页面输入关键字 www.testclass.cn 进行搜索; 3.关闭浏览器; 首先,通过前端工具(火狐浏览器的Firebug)或者直接按F12进入开发者模式查看具体前端代码:
Altumn
2019/10/21
1.1K0
Selenium元素定位
Selenium对当前浏览器窗口截图
在自动化测试中,截图可以帮助我们直观的定位错误、记录测试步骤。 同样,我们可以通过截取关键信息的图片,用以保留测试证迹。WebDriver提供了几种截图函数来截取当前窗口:
Altumn
2019/10/21
2K0
Selenium对当前浏览器窗口截图
Selenium必须掌握的元素定位方法
Web端的UI自动化测试,目前使用比较多的就是Python+Selenium。当前一些UI自动化测试工具也是基于Selenium做开发的。 最近经常有童鞋后台询问selenium元素定位方法,其实网上学习资料很多,只要你肯动手,都可以搜的到。元素定位对于自动化测试来说是比较重要而且繁琐的一件事。接下来就来讲一下如何使用webdriver提供的基本元素定位方法。 再次声明:本站点已经和百度、必应、谷歌等各大搜索引擎达成长期的战略合作协议,你有任何疑问都可以通过以上公司提供的免费服务得到解答。
Altumn
2019/10/20
4.7K0
Selenium操作Frame中的页面元素
在Web应用中经常会遇到网页中嵌套多个Frame框架的情况。这种情况下,如果直接去定位嵌套在Frame页面中的元素就会抛出NoSuchElementException异常。所以在操作嵌套在Frame框架上页面元素前,需要将页面焦点切换到Frame中。Selenium提供的switch_to.frame()方法可以实现Frame之间的跳转。
Altumn
2019/10/21
2.5K0
Selenium操作Frame中的页面元素
Selenium操作浏览器Cookie
Selenium-WebDriver提供了操作Cookie的相关方法,可以获取、删除和添加cookie信息。
Altumn
2019/10/21
3.2K0
Selenium操作浏览器Cookie
Selenium鼠标操作事件
日常的UI自动化测试活动中,有时候会用到鼠标操作事件。Selenium WebDriver 给我们提供了一个类来处理这类事件:ActionChains。 ActionChains 类提供了鼠标操作的常用方法:
Altumn
2019/10/21
1.1K0
Selenium控制浏览器常用操作
Selenium在做web测试的时候直接操作浏览器运行,这篇文章将介绍Selenium控制浏览器常用操作。
Altumn
2019/10/21
1.3K0
21.9 Python 使用Selenium库
Selenium是一个自动化测试框架,主要用于Web应用程序的自动化测试。它可以模拟用户在浏览器中的操作,如打开网页、点击链接、填写表单等,并且可以在代码中实现条件判断、异常处理等功能。Selenium最初是用于测试Web应用程序的,但也可以用于其他用途,如爬取网站数据、自动化提交表单等。Selenium支持多种编程语言,如Java、Python、C#等,同时也支持多种浏览器,如Chrome、Firefox、Safari等。
微软技术分享
2023/10/27
2730
21.9 Python 使用Selenium库
Selenium定位一组元素
文末也有关于如何定位一组元素的方法。不过有的小伙伴反映不方便查找,现把该部分内容单独列出。
Altumn
2019/10/21
7400
Selenium实现复制粘贴功能
梦里寻她千百度,蓦然回首,那人却在灯火阑珊处... ----By Altumn
Altumn
2019/10/21
5.1K0
Selenium实现复制粘贴功能
selenium之等待页面(或者特定元素)加载完成
文章目录 需求: 1、显示等待(推荐) 2、隐式等待(也不错) 3、time.sleep(一般不推荐) 需求: 有时候,我们使用selenium用来获取一些元素时,需要等待页面将某些元素加载网站才能够获取我们需要的数据,所以,这时候我们就需要等待页面的功能。
kirin
2021/03/18
5.3K0
Selenium文件上传
日常的UI自动化测试过程中,经常会遇到文件上传的业务操作。对于通过input标签实现的上传功能, 我们可以直接利用Selenium提供的方法send_keys() 实现文件上传。这种文件上传实现方式是将本地文件的路径作为一个值放在input标签中,然后通过form表单将这个值提交给服务器。 本文将针对input标签示范自动化执行文件上传功能。
Altumn
2019/10/21
1.2K0
Selenium文件上传
🔥《手把手教你》系列练习篇之1-python+ selenium自动化测试(详细教程)
相信各位小伙伴或者同学们通过前面已经介绍了的Python+Selenium基础篇,通过前面几篇文章的介绍和练习,Selenium+Python的webUI自动化测试算是 一只脚已经迈入这个门槛了要想第二只脚也迈进来。那么就要继续跟随宏哥的脚步继续前行。接下来,宏哥
北京-宏哥
2021/07/22
1.2K0
Selenium处理单选项下拉框列表
UI自动化测试中,经常会遇到下拉框列表选项,常见的下拉框列表有:单选项下拉框,多选项下拉框。
Altumn
2019/10/21
4.2K0
《手把手教你》系列练习篇之8-python+ selenium自动化测试 -压台篇(详细教程)
  本文是练习篇的最后一篇文章,虽然练习篇的文章到此就要和大家说拜拜了,但是我们的学习之路才刚刚开始。不要停下你的脚步,大步朝前走吧!比你优秀的人还在走着,我们有什么理由停下自己的脚步了,生命不止,学习亦是如此。好了,宏哥的毒鸡汤好
北京-宏哥
2019/12/10
1.6K0
《手把手教你》系列练习篇之8-python+ selenium自动化测试 -压台篇(详细教程)
Selenium处理JavaScript对话框
在日常的UI自动化测试中,经常会遇到网页弹出警告框,WebDriver可以轻松处理JavaScript对话框。 JavaScript弹出的对话框常见的有三种:alert、confirm、prompt。接下来分别针对以上类型的对话框进行处理操作。
Altumn
2019/10/20
1.7K0
Python爬虫技术系列-04Selenium库的使用
针对119.0.x的版本驱动需要在 https://googlechromelabs.github.io/chrome-for-testing/ 中下载
用户2225445
2023/11/07
9590
Python爬虫技术系列-04Selenium库的使用
使用Selenium抓取QQ空间好友说说1.安装Selenium2.在Python中使用Selenium获取QQ空间好友说说3.代码实现(基于Python3)
通过Robo 3T(数据库MongoDB的一款功能强大的数据库管理工具)可以看到我们已经将拿到的数据库存储于数据库中
Python攻城狮
2018/08/23
1.6K0
使用Selenium抓取QQ空间好友说说1.安装Selenium2.在Python中使用Selenium获取QQ空间好友说说3.代码实现(基于Python3)
selenium自动化测试报告_selenium自动化测试断言
注意:driver.close() ,当前关闭的是主窗口,只有完成页面切换才可以关闭当前新的页面
全栈程序员站长
2022/11/15
2.5K0
selenium自动化测试报告_selenium自动化测试断言
相关推荐
Selenium常用的元素等待方法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验