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

Python爬虫系列讲解」八、Selenium 技术

Selenium 解析 3 定位元素 3.1 通过 id 属性定位元素 3.2 通过 name 属性定位元素 3.3 通过 XPath 路径定位元素 3.4 通过超链接文本定位元素 3.5 通过标签名定位元素...本文主要介绍 Selenium Python API 技术,它以一种非常直观的方式来访问 Selenium WebDriver 的所有功能,包括定位元素、自动操作键盘鼠标、提交页面表单、抓取所需信息等。...通过 Selenium Python API,用户可以以一种直观的方式来访问 Selenium WebDriver 的所有功能。...当需要定位一个锚点标签内的链接文本(Link Text)时可以通过超链接文本定位元素的方法进行定位。...根据上图,同样的方法定位输入框并清除默认数据后输入账户密码,单击登录。

7K20

Python 自动化指南(繁琐工作自动化)第二版:十二、网络爬取

HTML 文件是带有html文件扩展名的纯文本文件。这些文件中的文本标签包围,这些标签尖括号括起来的单词。标签告诉浏览器如何格式化网页。开始标签和结束标签可以包含一些文本,形成元素。...例如,标签包含了应该是链接文本文本链接到的 URL 由href属性决定。...通过中击一个搜索结果链接或者在按住CTRL的同时点击),我会在一堆新标签中打开前几个链接,以便稍后阅读。...selenium模块控制浏览器 selenium模块让 Python 通过有计划地点击链接和填写登录信息来直接控制浏览器,就好像有一个人类用户在与页面交互一样。...这个方法可以用来跟踪一个链接,在一个单选按钮上进行选择,单击一个提交按钮,或者触发鼠标单击元素时可能发生的任何事情。

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

元素定位和定位辅助工具

什么样的请求代表访问网址,什么样的请求代表点击操作,什么样的请求代表输入操作。 这套标准通用于APP测试。 web自动化和selenium webdriver的是http请求,http协议。...//标签名称[@属性名="属性值"空格and或者or空格@属性名="属性值"] 套路:先看有没有,再看下有多少个,万一有多的,就通过元素本身的属性一步一步的缩小范围。...通过自己的各种属性都没有办法确保我是绝对唯一的,那么就这样,如果在一个家族中某一个兄弟姐妹非常优秀,或者上级(爸爸或者爷爷)某一代中非常的优秀。...如果是纯文字的链接,可以通过文本内容来匹配。 # 通过文字匹配有两种,完全匹配,部分匹配。...#contains(@属性名称/text(),全部文本内容或者部分文本内容) 包含 #css web页面-复杂元素定位 xpath相对定位方式,除了我们讲的这几个之外呢,光靠这几个做个项目的话,

1.4K10

自动化-Selenium 3-元素定位(Python版)

由于搜索到的标签名通常不止一个,所以一般结合使用find_elements方法来使用。 例如打开百度首页,获取超链接地图的文本信息。...") element = driver.find_element_by_link_text("地图") element.click() 6、by_partial_link_text 当你不能准确知道超链接上的文本信息或者只想通过一些关键字进行匹配时...超链接地图源代码:链接文本值为”地图”,在代码里”地”进行匹配 a class="mnav" name="tj_trmap" href="http://map.baidu.com...") cssSelector教程可访问官网:http://www.w3.org/TR/css3-selectors/ 或者可以查看本书的cssSelector参考手册章节 8、by_xpath by_xpath...XPath教程可访问:http://www.w3school.com.cn/xpath/index.asp 或者可以查看本书的XPath参考手册章节 - End -

7K10

九.网络爬虫之Selenium基础技术万字详解(定位元素、常用方法、鼠标操作)

3.通过XPath定位元素 4.通过连接文本定位超链接 5.通过标签名定位元素 6.通过类名定位元素 7.通过CSS选择器定位元素 四.常用方法和属性 1.操作元素方法 2.WebElement常用属性...本文主要介绍Selenium Python API技术,它以一种非常直观的方式来访问Selenium WebDriver的所有功能,包括定位元素、自动操作键盘鼠标、提交页面表单、抓取所需信息等。...通过Selenium Python API,读者能够以一种直观的方式来访问Selenium WebDriver的所有功能。...第二句是定位“id=nr”的div元素,再找到它的第三个链接a子元素。 第三句是定位name属性为“dumu”的第一个超链接a元素。...---- 4.通过连接文本定位超链接 当你需要定位一个锚点标签内的链接文本(Link Text)时就可以使用该方法。该方法将返回第一个匹配这个链接文本值的元素。

4.5K10

Python爬虫技术系列-04Selenium库的使用

Selenium Grid 主要使用 master-slaves 或者 hub-nodes 理念 :一个 master/hub 和多个基于 master/hub 注册的子节点 slaves/nodes...当然最笨的办法就是另外拿台机器,然后部署环境,把测试用例分开去执行然后合并结果即可。而Selenium也想到了这点,所以有了Selenium Grid的出现,它就是解决分布式执行测试的痛点。...dr.find_element_by_link_text()#完全匹配链接文本 dr.find_element_by_partial_link_text()# 模糊匹配链接文本 dr.find_element_by_class_name...) #方式3:使用sikulix的jar包 #方式4:其它,比如AutoIt 2.5 窗口切换 在WebDriver中,焦点切换主要分为如下3类 警告窗体的焦点切换 内嵌页面的焦点切换 渐开窗口或者标签的焦点切换...利用stealth.min.js隐藏selenium特征 - Python 通过谷歌浏览器访问: https://bot.sannysoft.com 可以查看到哪些特征是会被检测的 from selenium.webdriver

54140

selenium和phantomJS

,并不是python模块,所以需要单独下载安装;phantomjs官方网站:http://phantomjs.org/ selenium:独立的第三方模块,通过pip install selenium进行安装...:获取标签对象 find_element_by_id() 根据标签编号查询标签对象 \ …\ driver.find_by_element_by_id(“box”) 同下: from selenium.webdriver.common.by..., value=’//input[@id=”kw”]’) find_elements_by_link_text() 根据超链接标签链接文本查询标签 driver.find_elements_by_link_text...’damu’) find_elemetns_by_partial_link_text() 根据超链接标签链接文本 扩展 查询标签 driver.find_elements_by_partial_link_text...该模块包含了和鼠标操作相关的行为 模拟鼠标单击 driver.find_element_by_id(“su”).click() 鼠标链操作 from selenium.webdriver

76120

虚拟机中的病毒感染到宿主机的原理

一、问题解答 1.南哥,我在用python + selenium爬取药物临床试验登记与信息公示平台(http://www.chinadrugtrials.org.cn/index.html)数据的时候遇见一些问题...进一步防止 Selenium 被检测——如何防止浏览器用新标签页打开链接? 2.Node.js自带的吧?...请读者在Linux、Mac OS或者Windows 10自带的Ubuntu Bash下使用mitmproxy,只有这样,才能发挥它的最大能力。"...南哥, 求解 有一个办法。你先把mitmproxy关了。在子系统里面执行:python -m http.server 然后用手机访问电脑ip:8000,如果能看到东西,说明是mitm的问题。...下游另一个程序从Kafka读出来,再传给普罗米修斯。如果你们不会Kafka,那可以redis代替。

1.7K40

爬虫0050:selenium & phantomJS 无界神器selenium和phantomJS

,并不是python模块,所以需要单独下载安装;phantomjs官方网站:http://phantomjs.org/ selenium:独立的第三方模块,通过pip install selenium进行安装...() 如:driver = selenium.webdriver.Chrome() 接续:浏览器填写url地址访问文章: driver.get("http://www.baidu.com") 接续:获取标签对象...[@id="kw"]') find_elements_by_link_text() 根据超链接标签链接文本查询标签 driver.find_elements_by_link_text('damu'...find_elemetns_by_partial_link_text() 根据超链接标签链接文本 扩展 查询标签 driver.find_elements_by_partial_link_text...该模块包含了和鼠标操作相关的行为 模拟鼠标单击 driver.find_element_by_id("su").click() 鼠标链操作 from selenium.webdriver import

1K10

VS Code + Python + Selenium 自动化测试基础-01

安装 SeleniumPython 套件 # pip install selenium # pip show selenium 5.下载Chrome的ChromeDriver 下载后,解压缩将chromedriver.exe...的执行档跟系统的Python执行档放在相同的数据夹下就可以全域(Global)使用chromedriver 基本上 Selenuim 能够控制浏览器行为、或者浏览器进行沟通,都需要透过 Webdriver...目标:利用前一个示例,在 Google 输入框中输入“phone”,然后单击搜索 from selenium import webdriver from selenium.common.exceptions...,但是这个在实际运用上却很少使用,主要的原因是HTML文档中,存在大量的相同标签browser.find_element_by_tag_name (“input”) 链接文本定位:find_element_by_link_text...() 这个专门用于定位有文字的超链接,例如HTML文档为 线上购物 则使用链接文本定位,

33010

Python爬虫系列讲解」十二、基于图片爬取的 Selenium 爬虫

」四、BeautifulSoup 技术 「Python爬虫系列讲解」五、 BeautifulSoup 爬取电影信息 「Python爬虫系列讲解」六、Python 数据库知识 「Python爬虫系列讲解...」七、基于数据库存储的 BeautifulSoup 招聘爬取 「Python爬虫系列讲解」八、Selenium 技术 「Python爬虫系列讲解」九、 Selenium 爬取在线百科知识 「Python...爬虫系列讲解」十、基于数据库存储的 Selenium 博客爬虫 「Python爬虫系列讲解」十一、基于登录分析的 Selenium 微博爬虫 ---- 目录 1 图片爬虫框架 2 图片网站分析 2.1...前三篇讲述的 Selenium 技术爬取的都是文本信息,本文将讲解利用 Selenium 技术爬取图片的实例,从网站定位分析、代码实现两方面来讲解爬取全景网各个主题图片的过程,最后讲解代码优化方案。...本文利用 Selenium 技术爬取网站图集,其分析和定位方法与爬取文本的方法一样,不同之处在于,当定位得到了图片的 URL 时,还需要利用图片爬取方法来下载每一张图片,常见的爬取方法有 urlretrieve

2.6K30

Selenium面试题

41、如何使用Selenium文本框中输入文本? 42、怎么知道一个元素是否显示在屏幕上? 43、如何使用linkText点击超链接? 1、什么是测试自动化或自动化测试?...它由四个主要组成部分组成,其中包括: Selenium 集成开发环境 (IDE) Selenium Remote Control(现已弃) WebDriver Selenium Grid 7、Selenium...Selenium v2.0: Selenium WebDriver 在“2.0”版本中取代了 Selenium RC。 随着 WebDriver 的出现,RC 被弃并移至遗留包。...它也是从网页验证消息、标签和错误等的广泛使用的命令之一。...语法: Java 上面的命令使用链接文本搜索元素,然后单击该元素,因此用户将被重定向到相应的页面。以下命令可以访问前面提到的链接。 Java 上面给出的命令根据括号中提供的链接的子字符串搜索元素。

8.4K11

Python爬虫系列讲解」九、 Selenium 爬取在线百科知识

2 Selenium 爬取维基百科 2.1 网页分析 2.1.1 从页面中获取相关词条的超链接 2.1.2 调用 Selenium 定位并爬取各相关词条的消息盒 2.2 完整代码实现 3 Selenium...爬取百度百科 3.1 网页分析 3.1.1 调用 Selenium 自动搜索关键词 3.1.2 调用 Selenium 访问指定页面并定位消息盒 3.2 完整代码实现 4 Selenium 爬取头条百科...头条百科中实体“Python”的页面信息如上图所示。 2 Selenium 爬取维基百科 2.1 网页分析 本节将详细讲解如何利用 Selenium 爬取云冈石窟的第一段摘要信息。...调用 Selenium 的 find_element_by_xpath() 函数可以获取输入文本框的 input() 控件,然后自动输入“故宫”,获取“进入词条”按钮并自动单击(这一通过回车键实现),核心代码如下...Python 词条搜索链接: ? Java 词条搜索链接: ? PHP 词条搜索链接: ? 虽然 “?”

2.4K20

Selenium2+python自动化29-js处理多窗口

前言 在打开页面上链接的时候,经常会弹出另外一个窗口(多窗口情况前面这篇有讲解:Selenium2+python自动化13-多窗口、句柄(handle)),这样在多个窗口之间来回切换比较复杂,那么有没有办法让新打开的链接在一个窗口打开呢...三、去掉target="_blank"属性 1.因为此链接元素target="_blank",所以打开链接的时候会重新打开一个标签页,那么解决这个问题,去掉该属性就可以了。...3.删除“_blank”属性后,重新打开链接,这时候会发现打开的新链接会在原标签页打开。 ?...四、js去掉target="_blank"属性 1.第一步为了先登录,我这里加载配置文件免登录了(不会的看这篇:Selenium2+python自动化18-加载Firefox配置) 2.这里用到js的定位方法...,本篇只适用于有这个target="_blank"属性链接情况 本篇仅提供解决问题的办法和思路,不要完全照搬代码!!!

1.4K40

Python爬虫入门这一篇就够了「建议收藏」

爬虫三要素 抓取 分析 存储 基础的抓取操作 1、urllib 在Python2.x中我们可以通过urllib 或者urllib2 进行网页抓取,但是再Python3.x 移除了urllib2。...有时候服务器还可能会校验Referer,所以还可能需要设置Referer(用来表示此时的请求是从哪个页面链接过来的) 如下是CSDN中的Request Header中的信息 2、通过IP来限制 当我们同一个...5、参数通过加密 某些网站可能会将参数进行某些加密,或者对参数进行拼接发送给服务器,以此来达到反爬虫的目的。这个时候我们可以试图通过js代码,查看激活成功教程的办法。...,它会检测字符串内容是否为标签,但是不能检测出内容是否为真的标签; Beautifulsoup是Python的一个第三方库,它的作用和 xpath 作用一样,都是用来解析html数据的相比之下,xpath...的速度会快一点,因为xpath底层是c来实现的 存储 通过分析网页内容,获取到我们想要的数据,我们可以选择存到文本文件中,亦可以存储在数据库中,常用的数据库有MySql、MongoDB 存储为json

36910

python---定位元素

find_element_by_class_name()方法 (4)tag定位:tag往往用来定义一类功能,通过tag识别某个元素的概率很低 find_element_by_tag_name()方法 (5)link定位:用来定位文本链接...find_element_by_link_txt("新闻") find_element_by_link_txt()方法通过元素标签对之前的文本信息来定位元素 (6)partial link定位:是对link...定位的一种补充,有些文本链接比较长,此时需要取文本链接的一部分定位,只需要这部分信息可以唯一的标识这个链接。...find_element_by_partial_link_text()方法通过对元素标签对之间的部分文本信息来定位元素 #coding=utf-8 from selenium import webdriver...") //定位百度输入框,并输入python driver.find_element_by_id("su").click() //定位【百度一下】按钮,发送单击事件 #driver.find_element_by_link_text

80710
领券