element

爬虫系列(九) xpath的基本使用

我与影子孤独终老i 提交于 2020-05-05 20:57:43
一、xpath 简介 究竟什么是 xpath 呢?简单来说,xpath 就是一种在 XML 文档中查找信息的语言 而 XML 文档就是由一系列节点构成的树,例如,下面是一份简单的 XML 文档: <html> <body> <div> <p>Hello world<p> <a href="/home">Click here</a> </div> </body> </html> XML 文档中常见的节点包括: 根节点:html 元素节点:html、body、div、p、a 属性节点:href 文本节点:Hello world、Click here XML 文档中常见的节点间关系包括: 父子:例如,<p> 和 <a> 是 <div> 的子节点,反之,也称 <div> 是 <p> 和 <a> 的父节点 兄弟:例如,<p> 和 <a> 称为兄弟节点 祖先/后代:例如,<body>、<div>、<p>、<a> 都是 <html> 的后代节点,反之,也称 <html> 是 <body>、<div>、<p>、<a> 的祖先节点 对于网页解析来说,xpath 比 re 更加方便简洁,故 Python 中也提供相应的模块 —— lxml.etree 我们可以使用 pip install lxml 命令进行安装 二、xpath 使用 在正式开始讲解 xpath 的使用方法之前,我们先来构造一个简单的

java实现,使用opencv合成全景图,前端使用krpano展示

天涯浪子 提交于 2020-05-05 20:49:17
这周花三天做了一demo,算上之前的,怎么也有五天,上一篇是opencv介绍,以及定义native方法,通过本地图片路径传参,底层调用Opencv图像库合成,有兴趣的可以看看,这篇重点在于krpano的全景图展示,话说刚才上传了22张片照片合成全景图,感觉有半个小时也没有合成完,我这电脑是有多垃圾 那我们代码走一走(都说不上代码是老流氓) 这是demo的目录结构 @Controller public class PanoramaController { /** * @Description: 文件上传以及全景合成 * @Date: 15:58 2018/7/6 * @Params: * @param null */ @RequestMapping("/upload") public ModelAndView login07(@RequestParam(value = "file", required = false)MultipartFile[] files, @RequestParam(value = "title",defaultValue = "未命名") String title,HttpServletRequest request) { ModelAndView mv=new ModelAndView("success.html"); MultipartFile

codeforces 940F 带修改的莫队

人走茶凉 提交于 2020-05-05 19:04:52
F. Machine Learning time limit per test 4 seconds memory limit per test 512 megabytes input standard input output standard output You come home and fell some unpleasant smell. Where is it coming from? You are given an array a . You have to answer the following queries: You are given two integers l and r . Let c i be the number of occurrences of i in a l :  r , where a l :  r is the subarray of a from l -th element to r -th inclusive. Find the Mex of { c 0,  c 1, ...,  c 10 9} You are given two integers p to x . Change a p to x . The Mex of a multiset of numbers is the smallest non-negative

Machine Learning CodeForces

孤街醉人 提交于 2020-05-05 19:04:24
You come home and fell some unpleasant smell. Where is it coming from? You are given an array a . You have to answer the following queries: You are given two integers l and r . Let c i be the number of occurrences of i in a l :  r , where a l :  r is the subarray of a from l -th element to r -th inclusive. Find the Mex of { c 0 ,  c 1 , ...,  c 10 9 } You are given two integers p to x . Change a p to x . The Mex of a multiset of numbers is the smallest non-negative integer not in the set. Note that in this problem all elements of a are positive, which means that c 0 = 0 and 0 is never the

xpath —— 父子、兄弟、相邻节点定位方式详解

邮差的信 提交于 2020-05-05 18:01:39
xpath —— 父子、兄弟、相邻节点定位方式详解 转载 Kimbing Ng 最后发布于2019-06-15 20:47:17 阅读数 1215 收藏 展开 1. 由父节点定位子节点 最简单的肯定就是由父节点定位子节点了,我们有很多方法可以定位,下面上个例子: 对以下代码: < html > < body > < div id = "A" > <!--父节点定位子节点--> < div id = "B" > < div >parent to child </ div > </ div > </ div > </ body > </ html > 1 想要根据 B节点 定位无id的子节点,代码示例如下: # -*- coding: utf-8 -*- from selenium import webdriver driver = webdriver.Firefox() driver.get( 'D:\\py\\AutoTestFramework\\src\\others\\test.html') # 1.串联寻找 print driver.find_element_by_id( 'B').find_element_by_tag_name( 'div').text # 2.xpath父子关系寻找 print driver.find_element_by_xpath( "//div[

selenium+python之元素定位方式介绍

戏子无情 提交于 2020-05-05 17:03:29
网页自动化测试最基本的要求就是要定位到各个元素,然后才能对该元素进行各种操作(输入,点击,清除,提交等),所以今天来总结下Selenuim+Python最基本的几种定位方式及实例说明, 以百度搜索输入框为例,用谷歌浏览器具体说明各个定位方式的用法。 1.导入selenium包的webdriver方法 输入 from selenium import webdriver 2.从 time 模块中引入sleep函数,使用sleep函数可以让程序休眠 输入 from time import sleep 3.打开浏览器 (1)获取浏览器驱动,并打开谷歌浏览器,注意浏览器的第一个字母要大写 dr=webdriver.Chrome() (2)打开被测网页 url = "https://www.baidu.com/" dr.get(url) 4.元素定位方法 (1)通过id定位----find_element_by_id() 实例:dr.find_element_by_id("kw").send_keys("selenium自动化") #输入搜索关键字 注意点:id值必须是唯一的,id值是动态变化的,则不能使用该方法定位。 (2)通过name定位----find_element_by_name() 实例:dr.find_element_by_name("wd").send_keys(

python+selenium十五:CSS与Jquery

一世执手 提交于 2020-05-05 17:02:10
在css中,id用#表示,class用.表示,要定位标签直接写标签名,其他属性就用[xxx='xxx'] 一、css定位 1、属性定位:可以通过任意属性定位,不局限于id、class、name、tag、link这五种属性 1.通过id定位 driver.find_element_by_css_selector("#kw").send_keys("hao") 2.通过class定位 driver.find_element_by_css_selector(".s_ipt").send_keys("hao") 3.通过标签 driver.find_element_by_css_selector("input").send_keys("hao") 4.其它属性 driver.find_element_by_css_selector("[name='kw']") driver.find_element_by_css_selector("[autocomplete='off']") 2、组合定位 1.父子关系 driver.find_element_by_css_selector("span>input") 2.组合定位 driver.find_element_by_css_selector("form.fm>span>input.s_ipt") driver.find_element_by

前端布局必须了解的css选择器

浪尽此生 提交于 2020-05-05 17:00:47
前言 有时候我在想,我们前端写页面比较花时间,能不能尽可能的减少部分时间呢?当然你会说“你傻啊,不是有UI库嘛!”,但是别忘了,不是每个项目都有可用的UI库,同时使用别人的UI库,并不能百分百能够解决你所有的问题,如果我们对CSS选择器了解的更多一些,或许就可以少写很多JavaScript代码,比如:鼠标的移入移出效果,选项卡的背景图切换,图片的渐隐渐显等等,我们需要掌握这些(包括不常用的)CSS选择器,无论我们在前端布局UI,还是替代javaScript写效果,都能大大的提升我们的效率。 CSS选择器分类 通配符选择器 *{ margin : 0 ; padding : 0 ; } 复制代码 元素(标签)选择器 p { color :red; } 复制代码 类选择器 .warning { color :red; } 复制代码 ID选择器 #warning { color :red; } 复制代码 优先级 !important>行内样式>ID选择器>类、伪类、属性>元素、伪元素>继承>通配符 属性选择器 示例html < ul > < li foo > 1 </ li > < li foo = "abc" > 2 </ li > < li foo = "abc efj" > 3 </ li > < li foo = "abcefj" > 4 </ li > < li foo =

如何用 Python 做自动化测试【进阶必看】

我们两清 提交于 2020-05-05 16:58:50
一、Selenium 环境部署 1. window 环境部署 1.1 当前环境 Win10 64 位系统;Python3.6.2(官方已经更新到了 3.6.4) 官方下载地址:https://www.python.org/downloads Selenium 3.4.3;谷歌 59。 1.2 Python3 安装部署 Python 的安装接触编程语言中很简单的语言了。不需要繁琐的 JDK,也不需要 SDK。直接到官网下载,配置环境就成功了。 首先到官网下载我们需要的 Python3 版本: 点进去直接下载: 1.3 配置环境变量 安装好之后,我们就可以在文件夹看到我们下载好的 Python 文件了。 路径为: D:\python3.6.2。 现在我们去配置环境变量吧。 回到桌面,同时按下 WIN+R 键,打开 “运行” 对话框,输入 sysdm.cpl,单击 “确定” 按钮: 选择 “高级” 选项卡: 编辑当前路径: 到这里,我们配置环境就已经完成了,但是还是需要验证我们是否成功安装的。按 WIN+R,打开 “运行” 对话框,我们输入 cmd: 输入 python: 显示版本信息就证明已经部署成功了,接下来我们就可以开始学习 python 了。 1.4 安装 Selenium 现在我们就可以直接安装 Selenium 了,重新打开 cmd 窗口,输入:pip 查看是否存在 pip

selenium:css_selector定位详解

早过忘川 提交于 2020-05-05 16:15:07
selenium:css_selector定位详解(css selector和xpath的比较) 来源:https://www.cnblogs.com/haifeima/p/10138154.html 目录 selenium使用css selector和xpath的比较 selenium提供的定位方式(常用) 推荐的定位方式的优先级 针对css selector和xpath的优先级做一个简单的说明 定位元素的注意事项(划重点) selenium之CSS定位汇总 一:单一属性定位 二:组合属性定位 三:层级定位 回到顶部 selenium使用css selector和xpath的比较 selenium提供的定位方式(常用) ID NAME CLASS CSS SELECTOR XPATH 推荐的定位方式的优先级 优先级最高:ID 优先级其次:name 优先级再次:CSS selector 优先级再次:Xpath 针对css selector和xpath的优先级做一个简单的说明 在项目中我们可能用的最多的是css或者xpath,那么针对这两种,我们优先选择css,原因在哪些? 原因1:css是配合html来工作,它实现的原理是匹配对象的原理,而xpath是配合xml工作的,它实现的原理是遍历的原理,所以两者在设计上,css性能更优秀 原因2:语言简洁,明了,相对xpath 原因3