find_elements后点击不了抓取的元素
1.莫名其妙抓不到元素,要去看句柄,是不是没有切换
h=driver.current_window_handle
nh=driver.window_handles
for i in nh:
if i!=h:
driver.switch_to.window(i)
2.hover后才能看到的元素,要hover或者点击才能继续操作
mine=driver.find_element_by_id("j-username-color")
ActionChains(driver).move_to_element(mine).perform()
3.find_elements的时候要是同级别,才能往下click,简化了下网页代码:
<ul id="collection-view">
<li>
<div class="collection-item">
<div class="item-action">
<button id="568" class="btn btn-primary js-apply">使用皮肤</button>
</div>
</div>
</li>
<li>
<div class="collection-item">
<div class="item-action">
<button id="567" class="btn btn-primary js-apply">使用皮肤</button>
</div>
</div>
</li>
</ul>
用 x= driver.find_elements_by_css_selector(".item-action>button"),然后想x[i].click()是不行的
hov=driver.find_elements_by_css_selector("ul#collection-view>li")
for i in range(0, 8):
hov[i].click()
#li要hover或click才显示具体内容
hov[i].find_element_by_css_selector("div.item-action>button").click()
补充:
4.要抓取的元素id会变,一直Unable to locate element。
我要点击label,driver.find_element_by_xpath("//*[@id='rt_rt_1b6isr6ta11k1aj81a8u1aro16b34']/label").click()很久,尝试hover或点击上面元素,都不行,结果问题居然在会变的最近id上。下面两个截图是刷新页面后不同的id。用上一级div就好了。虽然很简单,但不注意看可能会花费一段时间,比如我。


driver.find_element_by_xpath("//*[@id='centerPicker']/div[2]/label").click()
5.有时候没有等待也是会抓取不到元素,所以加上time.sleep(sencond),来防止莫名出错,还是很有必要的。
6.执行的时候报错Element is not clickable at point (1105.5, 17). Other element would receive the click
元素被遮盖住了,滚动条挪一挪就好了,要挪多少看需要了
js = "var q=document.documentElement.scrollTop=100"
driver.execute_script(js)
find_elements后点击不了抓取的元素的更多相关文章
- PHP 正则表达式的简单应用以 preg_match_all 抓取HTML元素为例 [转载]
PHP 正则表达式的简单应用以 preg_match_all 抓取HTML元素为例 2011-12-02 17:09:39| 分类: PHP|举报|字号 订阅 下载LOFTER我的照片书 ...
- Spider--动态网页抓取--审查元素
# 静态网页在浏览器中展示的内容都在HTML的源码中,但主流网页使用 Javascript时,很多内容不出现在HTML的源代码中,我们需要使用动态网页抓取技术. # Ajax: Asynchronou ...
- jq实现 元素显示后 点击页面的任何位置除元素本身外 隐藏元素
$(".share-weixin").on("click",function(e){ var $wx=$(".weixin-share"), ...
- 无限级分类,抓取某元素的所有下级id
mysql> select id,invite_qke_id from tf_qke; +----+---------------+ | id | invite_qke_id | +----+- ...
- Python之抓取网页元素
import urllib.request from bs4 import BeautifulSoup url = "http://www.wal-martchina.com/walmart ...
- Web自动化框架LazyUI使用手册(4)--控件抓取工具Elements Extractor详解(批量抓取)
概述 前面的一篇博文详细介绍了单个控件抓取的设计思路&逻辑以及使用方法,本文将详述批量控件抓取功能. 批量抓取:打开一个web页面,遍历页面上所有能被抓取的元素,获得每个元素的iframe.和 ...
- Python爬虫入门教程 28-100 虎嗅网文章数据抓取 pyspider
1. 虎嗅网文章数据----写在前面 今天继续使用pyspider爬取数据,很不幸,虎嗅资讯网被我选中了,网址为 https://www.huxiu.com/ 爬的就是它的资讯频道,本文章仅供学习交流 ...
- Mac用户抓包软件Charles 4.0 破解 以及 抓取Https链接设置
相信大家曾经都是Window的用户,作为前端哪能没有一款抓包工具,抓包工具可以非常便捷的帮助我们分析接口返回报文数据,快速定位问题. 曾经横扫window用户的Fiddler便是我们的挚爱,然而,作为 ...
- Scrapy爬虫框架教程(四)-- 抓取AJAX异步加载网页
欢迎关注博主主页,学习python视频资源,还有大量免费python经典文章 sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction ...
随机推荐
- js计算散点图方程式
//pointArrayX,pointArrayY 为两个数组,分别为x轴对应的点和y轴对应的点 function getEquationPara(pointArrayX, pointArrayY) ...
- yii 常用的多表查询
return $this->model()->getDbConnection()->createCommand() ->select("t.type,t.title, ...
- Ehlib安装方法有窍门
Ehlib安装方法有窍门,如果不知道该安装方法,很难成功安装,Delphi 7(D5.D6也如此)中的安装方法 1.把EhLib中的common和DataService文件拷贝到Delph ...
- Revit 自定义RibbonPanel到Revit中
项目下找到TheApplication.cs,更改内容: class TheApplication : IExternalApplication { public Result O ...
- Socket通信原理探讨(C++为例)
一.网络中进程之间如何通信? 本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类: 1.消息传递(管道.FIFO.消息队列) 2.同步(互斥量.条件变量.读写锁.文件和写记录锁.信号量) 3 ...
- [Android]Android开发入门之HelloWorld
引言:在做Unity开发的时候,发现这么个问题,虽然Unity是跨平台的,能够进行Android,IOS,Web,PC等开发,但如果要实现一些稍微系统层的东西,还是需要通过通信,调用原系统的接口(自定 ...
- OpenCV成长之路(2):图像的遍历
我们在实际应用中对图像进行的操作,往往并不是将图像作为一个整体进行操作,而是对图像中的所有点或特殊点进行运算,所以遍历图像就显得很重要,如何高效的遍历图像是一个很值得探讨的问题. 一.遍历图像的4种方 ...
- iOS--创建炫酷的渐变色界面
{ CAGradientLayer *_layer; } //创建渐变层 _layer =[CAGradientLayer layer]; _layer.frame=self.view.frame; ...
- Subsonic简单的语法整理
.查询方面 (查询所有数据记录[dataset读取方法]) Myuser.Query().ExecuteDataSet().Tables[]; Myuser.Query().ExecuteDataSe ...
- XAMPP PHPSTORM XDEBUG 配合使用
1.xdebug 配置 安装完xampp 进入 php.ini [XDebug]zend_extension = "C:\xampp\php\ext\php_xdebug.dll" ...