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 ...
随机推荐
- linux c 笔记-4 工程项目阅读推荐
作者:周子涵链接:https://www.zhihu.com/question/27705862/answer/37738315来源:知乎著作权归作者所有,转载请联系作者获得授权. 转自网上不知道什么 ...
- haproxy测试
环境: Clients:N台linux, 使用“ab -k -c 20000...” 并发2w 请求haproxy Haproxy Server: R610 2*8核 2.4G Real Server ...
- CPU时间片
CPU时间片 为了提高程序执行效率,大家在很多应用中都采用了多线程模式,这样可以将原来的序列化执行变为并行执行,任务的分解以及并行执行能够极大地提高程序的运行效率. 但这都是代码级别的表现,而硬件是如 ...
- MysqlWorkbench连接远程数据
- iOS创建自定义的xib视图,不带控制器调用
1 我们平常使用视图都是在控制器中加载各种视图,但是有时候一个单独的视图,弄一个控制器未免有些显得太沉重了,所以我们现在来创建一个带xib加载视图的自定义视图 2 创建一个视图类集成uiview 3 ...
- PIL中分离通道发生“AttributeError: 'NoneType' object has no attribute 'bands'”
解决方法: 这个貌似是属于一个bug 把Image.py中的1500行左右的split函数改成如下即可: def split(self): "Split image into bands&q ...
- 浅析python 中__name__ = '__main__' 的作用
引用http://www.jb51.net/article/51892.htm 很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码 ...
- zorka源码解读之通过beanshell进行插桩的流程
zorka中插桩流程概述 1.在SpyDefinition中配置插桩属性,将SpyDefinition实例提交给插桩引擎.2.SpyDefinition实例中包含了插桩探针probes,probe插入 ...
- BZOJ 1246 & 有点不一样的概率DP
题意: 题意够坑的啊... 一个色子有n个面,第k次掷出一个加上这个k.求掷出所有面的期望值. 我一直以为值是色子面上的... 那么问题来了在色子面上怎么做...n还是1w级别... SOL: 对着理 ...
- 从零开始山寨Caffe·肆:线程系统
不精通多线程优化的程序员,不是好程序员,连码农都不是. ——并行计算时代掌握多线程的重要性 线程与操作系统 用户线程与内核线程 广义上线程分为用户线程和内核线程. 前者已经绝迹,它一般只存在于早期不支 ...