首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

前端开发实际上操作数据不是DOM

但在这之前,你会写大量。。。垃圾代码。并且当你面对一个在某一个具体页面上有N多交互,且不跳页,且这些交互还是操作不同接口返回数据时,也许你就蒙了。...因为这类网页没有一个确定结构,它随着不同权限的人,操作不同数据,处于不同状态,而在这期间,它DOM结构是不断变化。...昨天文章里我说过,你在京东买东西,你点击是input,但实际上通过input标签,你触发了ajax事件,调用了updata方法,修改了你payCart对象,即购物车对象里val值,这是什么?...这在网页视图上反映就是你购物车里,多了一件商品。这个操作实质上操作数据,是你payCart数据。 让我们先从需求出发,先把业务所用到数据都整理,归纳出来。...形成各种对象,对象其实就是数据集合嘛。那数据是什么?它是一种模型。例如电商网站,它里面有各种数据,那对应就会有各种模型。这种模型多了,就会抽像出规则。

1K80
您找到你想要的搜索结果了吗?
是的
没有找到

web自动化之selenium特殊用法汇总篇

(2)组合键使用 (4)常用组合键 (5)常用功能键 2、Python-Selenium:如何通过click在新标签页打开链接?...3、selenium 带有空格class name且不唯一元素定位 1、当前浏览器窗口截屏 2、生成网站长截图 3、特殊网页无法长截图,使用多图拼接技术 4、无头模式调整浏览器实际窗口大小 web...该方法将首先尝试返回具有给定名称属性值。 如果具有该名称属性不存在,则返回具有相同名称属性值。 如果没有这个名称属性,则返回' None '。...href = post_list[i].get_attribute('href') # 在新标签页打开链接 driver.execute_script(f'window.open...-----------------") 4、无头模式调整浏览器实际窗口大小 在生成网站长截图部分,我们发现长截图网页并不是实际我们最大化时候样子,感觉像是平板端PC展示页。

2.3K30

017:Opencv+Selenium模拟QQ邮箱滑块操作

之前发了一个国航滑块模拟操作,没有计算滑块到缺口位置。 本篇则是用opencv+selenium来对QQ邮箱滑块进行模拟测试。...QQ邮箱链接: https://mail.qq.com/ QQ邮箱这个登录机制,需要我们输入一个错误账号或密码会有机会弹出滑块验证码,所以我下面就一直用错误账号进行测试。...= 正常情况出现滑块后: 开始进行缺口位置识别: 我这里使用方法,是通过seleniumxpath把图片src获取到,然后下载下来保存到本地。再通过opencv来进行图像缺口检测。...: 返回保存在本地图片中0左标到缺口位置距离:y 我们本地图片宽是 680 像素 QQ邮箱给验证图宽为 280 像素 那我们移动距离是: y = y/(680/280) 但是在浏览器上面显示滑块起始位置不是为...我们就可以使用seleniumActionChains来进行鼠标移动操作。

1.1K20

技术分享 | Selenium 测试用例编写

Python版本 from selenium import webdriver Java版本 import org.openqa.selenium.By; import org.openqa.selenium.chrome.ChromeDriver...; 测试用例流程 测试用例是为了实施测试从而向被测试系统提供一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等。...三大核心要素为 :标题 、步骤 、预期结果 标题:是对测试用例描述,标题应该清楚表达测试用例内容 步骤:对测试执行过程进行描述 预期结果:提供测试执行预期结果,预期结果一般是根据需求得出,如果实际结果和预期结果一致则测试通过...Python版本 from selenium import webdriver # 测试标题即 test_search def test_search(): driver = webdriver.Chrome...因为实际获取到内容应该是百度一下不是百度,所以断言错误。

39330

教你Selenium 测试用例编写

Python版本 from selenium import webdriver 测试用例流程 测试用例是为了实施测试从而向被测试系统提供一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等...三大核心要素为 :标题 、步骤 、预期结果 标题:是对测试用例描述,标题应该清楚表达测试用例内容 步骤:对测试执行过程进行描述 预期结果:提供测试执行预期结果,预期结果一般是根据需求得出,如果实际结果和预期结果一致则测试通过...实战演练 首先是在代码最上面导入了 Selenium 包,其次是测试方法命名、测试步骤、断言。测试用例内容是要断言打开百度页面所展现内容与所期望值是否相等。...Python版本 from selenium import webdriver # 测试标题即 test_search def test_search(): driver = webdriver.Chrome...因为实际获取到内容应该是百度一下不是百度,所以断言错误。

47910

网易云音乐歌曲下载

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。...本文链接:https://blog.csdn.net/weixin_40313634/article/details/96611824 爬取过程中问题解决 环境 :Windows + Python...定位信息好着,就是获取不到元素 原因: selenium 打开网页后, 默认是在父级 Frame 里, 直接搜索是搜不到子 Frame 里信息。 需要切换 Frame。...就是页面元素过期,引用元素过时,不再依附于当前页面,需要重新定位获取元素对象 find_elements 查找到是 WebElement 类型数组数据,含有元素在当前页面的地址信息,调用 click.../usr/bin/env python ''' 功能:访问网易云音乐网站,下载歌单里所有免费歌曲 时间:2019/07/20 ''' from selenium import webdriver

1.6K30

源码 | Python爬虫之网易云音乐下载

配置基础 Python Selenium(配置方法参照:Selenium配置) Chrome浏览器(其它也可以,需要进行相应修改) 分析 如果爬取过网易云网站小伙伴都应该知道网易云是有反爬取机制...Python实现 该部分将对几个关键函数进行介绍… 获取歌手信息 利用Selenium我们就不需要看对网页请求了,直接可以从网页源码中提取相应信息。...接下来就是解析单个tr标签内容,获取歌曲名字和链接,可以发现两者在class=”txt”标签中,而且链接是href属性,名字是title属性,可以直接通过get_attribute()函数获取。...((title, href)) 下载歌词 网易云有个获取歌词接口,链接为:http://music.163.com/api/song… 链接数字就是歌曲id,所以我们拥有歌曲id后,可以直接从该链接下载歌词...,链接为:http://music.163.com/song/med… 链接数字为歌曲id,可以直接根据歌曲id来下载音频文件。

2.4K20

Selenium 动态爬取51job招聘信息

找到每个岗位详细链接地址: ?...最后定位需要爬取数据 岗位名,薪水,公司名,招聘信息,福利待遇,岗位职责,任职要求,上班地点,工作地点 这些数据,总之需要什么数据,就爬什么 需要打开岗位详细链接,比如:https://jobs.51job.com...Item类  定义需要获取数据 GetJobInfo类 主程序类 getBrowser方法     设置selenium使用chrome无头模式,打开目标网站,返回browser对象 userInput... 返回 url:{} 数据失败\n错误代码:{}\n'.format(url, e))         else:             self.log.info(u'Python 返回 url:{...请根据实际情况,修改对应爬虫规则。 本文参考链接: http://www.py3study.com/Article/details/id/344.html

1.2K40

使用selenium定位获取标签对象并提取数据

selenium提取数据 文章目录 selenium提取数据 知识点: 1. driver对象常用属性和方法 知识点:了解 driver对象常用属性和方法 2. driver对象定位标签元素获取标签对象方法...Python网络爬虫基础–BeautifulSoup 知识点: 了解 driver对象常用属性和方法 掌握 driver对象定位标签元素获取标签对象方法 掌握 标签对象提取文本和属性值方法 --...对象定位标签元素获取标签对象方法 在selenium中可以通过多种方式来定位标签,返回标签元素对象 find_element_by_id (返回一个元素) find_element(...(根据链接包含文本获取元素列表) find_element(s)_by_tag_name (根据标签名获取元素列表) find_element(s)_by_css_selector (根据...element.get_attribute("属性名") 通过定位获取标签对象get_attribute函数,传入属性名,来获取属性值 ​ 代码实现,如下: from selenium import

1.8K20

Python爬虫案例:采集青创网批发商品数据(附代码)

开发环境 Python 3.8 Pycharm 2021.2 模块使用 selenium >>> pip install selenium==3.141.0 (指定版本安装) time csv selenium...模拟人行为去操作浏览器 正常爬虫 >>> requests Python代码模拟浏览器对于服务器发送请求 selenium >>> 用python代码 >>> 浏览器驱动 >>> 浏览器 selenium...你浏览器驱动文件和代码放在一起 2. 浏览器驱动文件放在python安装目录下面 """ 78行代码报错原因: 1. 驱动路径 2....什么时候加载完 就继续运行下面的代码 # lis返回是列表, 元素个数只有70个, 71取不到所以报错 # lis[0] 也报错 >>>> 你解析数据没有提取出来, 返回 空列表...服务器没有给我们返回想要数据 (反爬了) lis = driver.find_elements_by_css_selector('#productlist li') for li in

57610

python+selenium实现Web自动化

一、前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新!...二、话不多说,直接开干,开始搭建自动化测试环境 这里以前在【简书】写过一篇很详细博文,零基础小白都可以看懂,地址如下: python+selenium自动化测试环境搭建步骤(selenium环境搭建...') search_text.submit() time.sleep(3) (3) 其他常用方法 size: 返回元素尺寸。...text: 获取元素文本。 get_attribute(name): 获得属性值。 is_displayed(): 设置该元素是否用户可见。...('cp').text print("返回元素文本:%s" % text) attribute = browser.find_element_by_id('kw').get_attribute('type

2.6K30

测试开发面试题

selenium面试题 1、UI自动化工作原理 脚本连接Webdriver驱动,Webdriver驱动直接驱动浏览器来模拟一些人操作,如点击按钮,输入字符串等操作 2、selenium提供了两个类...(1100,size['height'])#设置宽,高 python面试题 1、python 核心数据类型 数字(整型数int,浮点型数float,复数complex, 布尔型bool) 字符串 str...返回光标至行首(回车)。...3.6 以后 print(f'名字是{name},年龄是{age}') 8、给你一个数据混乱列表,[72,33,88,12,14,39],不用python内部封装好方法,自己用冒泡排序,重新将列表从小到大排序...: 位置形参 星号元组形参 命名关键字形参 双星号字典形参 10、python作用域和变量名查找规则(顺序) python 作用域 作用域也叫名字空间,是访问变量时查找变量名范围空间 python

1.2K10

技术分享 | app自动化测试(Android)--App 控件交互

获取 TEXT 属性返回元素 text 属性值,用法如下:Python 版本self.driver.find_element_by_xpath( '//*[@resource-id="com.xueqiu.android...\"]").\ getAttribute("text");获取 CLASS 属性返回元素 class 属性值,用法如下:Python 版本self.driver.find_element_by_xpath...\"]")\ .getAttribute("resource-id");获取 CONTENT-DESC 属性返回元素 content-desc 属性值,用法如下:Python 版本self.driver.find_element_by_xpath...,比如这个元素是否可见,是否被选中,是否可用等,下面介绍这些属性值获取:python 版本get_attribute('clickable') # 是否可点击get_attribute('checked...与 Selenium 输出 HTML 格式不一样,Appium page_source 是 XML 格式。

48800

scrapy_selenium爬取Ajax、JSON、XML网页:豆瓣电影

本文将为你介绍scrapy_selenium基本原理和使用方法,并给出一个实际案例。...scrapy_selenium主要特点有: 它提供了一个SeleniumRequest类,可以让我们在scrapy中发送selenium请求,不是普通HTTP请求。...它提供了一个SeleniumMiddleware类,可以让我们在scrapy中处理selenium响应,不是普通HTML响应。...它提供了一个SeleniumSpider类,可以让我们在scrapy中使用selenium来编写爬虫逻辑,不是普通scrapy.Spider类。...我们可以发现,豆瓣电影电影列表是通过Ajax异步加载电影详情页是通过JSON格式返回。我们目标是爬取每部电影名称、评分、简介和海报图片,并保存到本地。

23630

技术分享 | app自动化测试(Android)–App 控件交互

获取 TEXT 属性返回元素 text 属性值,用法如下:Python 版本self.driver.find_element_by_xpath( '//*[@resource-id="com.xueqiu.android...\"]").\ getAttribute("text");获取 CLASS 属性返回元素 class 属性值,用法如下:Python 版本self.driver.find_element_by_xpath...\"]")\ .getAttribute("resource-id");获取 CONTENT-DESC 属性返回元素 content-desc 属性值,用法如下:Python 版本self.driver.find_element_by_xpath...,比如这个元素是否可见,是否被选中,是否可用等,下面介绍这些属性值获取:python 版本get_attribute('clickable') # 是否可点击get_attribute('checked...与 Selenium 输出 HTML 格式不一样,Appium page_source 是 XML 格式。

73781
领券