用selenium包。

# -*- coding: utf-8 -*-

# 说明: 当前的浏览器驱动用的是edge浏览器.

# 需要下载浏览器驱动,并把它的路径添加到环境变量

from selenium import webdriver

import time

driver = webdriver.Edge()

homepage_url = 'http://10.180.10.93:8000/'

driver.get(homepage_url)

driver.quit()

打开xx页面

nodes = driver.find_elements_by_tag_name('a')

driver.maximize_window()

driver.implicitly_wait(6)   # zhe'shi'shen'm

和dom找元素很像

nodes = node[0],然后node.click()模拟鼠标点击。

前进、后退

driver.forward()

driver.back()

if node.get_attribute('target') == '_blank': # 如果是 _target = blank 的话,打开新的选项卡(标签),随后关闭它

node.click()

time.sleep(SLEEPING_SECOND)

assert driver.title == EXPECTED_TITLE

windows = driver.window_handles

driver.switch_to.window(windows[1])

driver.close()

driver.switch_to.window(windows[0])

测试把网页上所有的链接都点一变。

# -*- coding: utf-8 -*-

# 说明: 当前的浏览器驱动用的是edge浏览器.

# 需要下载浏览器驱动,并把它的路径添加到环境变量

from __future__ import print_function

from selenium import webdriver

import time

driver = webdriver.Edge()

homepage_url = 'http://10.180.10.93:8000/'

SLEEPING_SECOND = 1

driver.get(homepage_url)

time.sleep(SLEEPING_SECOND)

url_visited = set()

# 不需要访问的页面

url_filtered = {

'https://www.djangoproject.com/',

'https://purecss.io/',

'https://www.pgadmin.org/',

'http://quantlib.org/index.shtml',

'https://www.pgadmin.org/docs/',

'http://quantlib.org/quantlibaddin/extend_tutorial.html#extend_autogenerate',

'http://quantlib.org/quantlibxl/faq.html#faq_item_debugexcel',

'https://pypi.python.org/pypi',

'https://www.anaconda.com/download/#windows',

'http://quantlib.org/install/vc10.shtml',

'http://quantlib.org/quantlibxl/',

'http://sourceforge.net/projects/boost/files/boost-binaries/',

'https://www.postgresql.org/',

'http://www.cnblogs.com/newpanderking/articles/3372969.html',

'http://www.pgadmin.org/',

'http://quantlib.org/quantlibaddin/build_qlxl.html',

'https://sourceforge.net/p/quantlib/mailman/quantlib-dev/?style=flat&viewmonth=201101',

'http://quantlib.10058.n7.nabble.com/problems-compiling-QuantLibXL-from-td15602.html'

}

EXPECTED_TITLE = 'Homepage of Quant Team One'

def traverse():

print(url_visited)

nodes = driver.find_elements_by_tag_name('a')

if len(nodes) == 0:

return

else:

for i in range(len(nodes)):

print('当前:%s' % driver.current_url)

if 'ErrorStatus=0x800C0005' in driver.current_url:

raise ValueError('站点无法访问')

assert driver.title == EXPECTED_TITLE

nodes = driver.find_elements_by_tag_name('a') # 每次都要重新获取啊 -_-!! 不然要报错: 此节点已过时

node = nodes[i]

url = node.get_attribute("href")

if node.text in ['\n \n \n ']: # 这个超链接是在哪里出现的 -_-!! 好诡异 -_-!

continue

if url in (url_visited | url_filtered): # 不需要访问的页面 (已经访问过的 & 确实不需要访问的)

continue

print('%s, %s' % (node.text, url))

try:

if node.get_attribute('target') == '_blank': # 如果是 _target = blank 的话,打开新的选项卡(标签),随后关闭它

node.click()

time.sleep(SLEEPING_SECOND)

assert driver.title == EXPECTED_TITLE

url_visited.add(url)

windows = driver.window_handles

driver.switch_to.window(windows[1])

driver.close()

driver.switch_to.window(windows[0])

else:

node.click()

time.sleep(SLEEPING_SECOND)

assert driver.title == EXPECTED_TITLE

url_visited.add(url)

traverse()

driver.back()

except Exception as e:

print(e)

pass

url_visited.add(driver.current_url)

traverse()

driver.quit()

python web自动化测试实验报告_Python:web自动化测试相关推荐

  1. 为网站配置web服务器实验报告,配置web服务器实验报告.docx

    文档介绍: 配置web服务器实验报告实验报告专业班级成绩评定_______学号姓名教师签名_______实验题目配置和管理Web服务器实验时间一.实验目的: 1.掌握Web服务器的基本配置方法.2.学 ...

  2. python画图程序实验报告_Python绘图简明教程

    前言 本文纯科普向. 主要介绍一下Python上最好用的2D图形绘制库matplotlib的安装以及一些基础操作. 选择Python是因为其强大的第三方库和优秀便捷的语法,并且能方便地对数据进行后续处 ...

  3. python词频统计实验报告_Python实验报告八

    安徽工程大学Python程序设计 班级:物流191 姓名:汤振宇 学号:319050108 成绩: 日期:2020/06/04 指导老师:修宇 [实验目的] : 掌握读写文本文件或 CSV 文件,进而 ...

  4. python顺序结构实验报告_Python 数据结构 之 串 的顺序存储结构

    本文所采用的数据结构模板为 <数据结构教程>C语言版,李春葆.尹为民等著. 改篇所涉及到的是 串 的顺序存储结构. 用Python仿照C语言来实现. 代码地址: 串 的顺序存储结构: # ...

  5. python股票数据分析实验报告_Python实验报告

    一. 实验原理 ( 要求.任务等 ) (一).Python的开发环境 Python诞生于20世纪90年代初,是一种解释型.面向对象.动态数据类型的高级程序设计语言,是最受欢迎的程序设计语言之一. 编写 ...

  6. python词云图实验报告_Python实现Wordcloud生成词云图的示例

    wordcloud是Python扩展库中一种将词语用图片表达出来的一种形式,通过词云生成的图片,我们可以更加直观的看出某篇文章的故事梗概. 首先贴出一张词云图(以哈利波特小说为例): 在生成词云图之前 ...

  7. python网络爬虫实验报告_Python网络爬虫实例讲解

    聊一聊Python与网络爬虫. 1.爬虫的定义 爬虫:自动抓取互联网数据的程序. 2.爬虫的主要框架 爬虫程序的主要框架如上图所示,爬虫调度端通过URL管理器获取待爬取的URL链接,若URL管理器中存 ...

  8. python弹球游戏实验报告_Python实战案例:用Python写一个弹球游戏,就是这么强

    我们前面讲了几篇关于类的知识点,为了让大家更好的掌握类的概念,并灵活的运用这些知识,我写了一个有趣又好玩的弹球的游戏,一来可以把类的知识融会一下,二来加深对Python的兴趣.你会发现哎呀Python ...

  9. python设计计算器实验报告_Python实验-计算器

    一 从字符串中提取 Token 的步骤是顺序读取字符,判断字符类型,然后把 Token 的类型和值存入 Token 列表. 输入字符串处理 提取offset位置处的一个字符 如果没有后续字符则返回No ...

最新文章

  1. 初学者怎么学单片机,嵌入式单片机培训机构有用吗?
  2. 第三次学JAVA再学不好就吃翔(part82)--泛型
  3. shell编程系列20--文本处理三剑客之awk常用选项
  4. 双向@OneToMany / @ManyToOne关联
  5. 论文小综 | 知识图谱中的复杂查询问答
  6. sharepoint_study_7
  7. 带有控制器,方法,标题,参数,@ RequestParam,@ PathVariable的Spring MVC @RequestMapping注释示例
  8. java迭代器怎么用_Java中迭代器的使用
  9. GalleryView禁止选中项目向中间滑动
  10. windows ping 端口测试
  11. 生产制造企业用的ERP系统——流程管理
  12. 随笔杂记(十)——C++:C4996报错解决方法
  13. pytorch 高光谱图像分类
  14. PCI-DSS安全认证
  15. Oracle11G的数据库数据导入导出(由11g上导出导入10g数据库等)
  16. 一个带展开按钮的TextView控件
  17. 用好Eclipse Task功能
  18. 训练样本制作--Annotating Object Instances with a Polygon-RNN
  19. android 新驱动安装教程视频教程,一教即会新人必备 adb驱动安装教程
  20. 玩转太极链DAPP,就看这里

热门文章

  1. java中如何设计答题小系统_java的一点问题,设计一个答题的程序
  2. php判断字符串中是否包含某字符串
  3. 依据地图上的经纬度坐标计算某个点到多边形各边的距离
  4. MSP430F5529 DriverLib 库函数学习笔记(十)SPI驱动墨水屏
  5. Taro+react开发(79):taro生命周期setstate异步
  6. 前端学习(3302):类组件父组件和子组件createRef
  7. 前端学习(2608):vuex的介绍
  8. 前端学习(1953)vue之电商管理系统电商系统之根据父类数据处理表单中的数据
  9. 前端学习(1896)vue之电商管理系统电商系统之修改用户状态
  10. mybatis学习(22):查询排序