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后点击不了抓取的元素的更多相关文章

  1. PHP 正则表达式的简单应用以 preg_match_all 抓取HTML元素为例 [转载]

    PHP 正则表达式的简单应用以 preg_match_all 抓取HTML元素为例 2011-12-02 17:09:39|  分类: PHP|举报|字号 订阅     下载LOFTER我的照片书   ...

  2. Spider--动态网页抓取--审查元素

    # 静态网页在浏览器中展示的内容都在HTML的源码中,但主流网页使用 Javascript时,很多内容不出现在HTML的源代码中,我们需要使用动态网页抓取技术. # Ajax: Asynchronou ...

  3. jq实现 元素显示后 点击页面的任何位置除元素本身外 隐藏元素

    $(".share-weixin").on("click",function(e){ var $wx=$(".weixin-share"), ...

  4. 无限级分类,抓取某元素的所有下级id

    mysql> select id,invite_qke_id from tf_qke; +----+---------------+ | id | invite_qke_id | +----+- ...

  5. Python之抓取网页元素

    import urllib.request from bs4 import BeautifulSoup url = "http://www.wal-martchina.com/walmart ...

  6. Web自动化框架LazyUI使用手册(4)--控件抓取工具Elements Extractor详解(批量抓取)

    概述 前面的一篇博文详细介绍了单个控件抓取的设计思路&逻辑以及使用方法,本文将详述批量控件抓取功能. 批量抓取:打开一个web页面,遍历页面上所有能被抓取的元素,获得每个元素的iframe.和 ...

  7. Python爬虫入门教程 28-100 虎嗅网文章数据抓取 pyspider

    1. 虎嗅网文章数据----写在前面 今天继续使用pyspider爬取数据,很不幸,虎嗅资讯网被我选中了,网址为 https://www.huxiu.com/ 爬的就是它的资讯频道,本文章仅供学习交流 ...

  8. Mac用户抓包软件Charles 4.0 破解 以及 抓取Https链接设置

    相信大家曾经都是Window的用户,作为前端哪能没有一款抓包工具,抓包工具可以非常便捷的帮助我们分析接口返回报文数据,快速定位问题. 曾经横扫window用户的Fiddler便是我们的挚爱,然而,作为 ...

  9. Scrapy爬虫框架教程(四)-- 抓取AJAX异步加载网页

    欢迎关注博主主页,学习python视频资源,还有大量免费python经典文章 sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction ...

随机推荐

  1. 无需activity获得屏幕尺寸

    原文地址:http://blog.sina.com.cn/s/blog_4c277ad30100yfqo.html 客户需求需要增加对手机尺寸的读取 于是找了两个方法 第一种:通过activity引用 ...

  2. jstl catch if choose标签

    catch标签: catch标签用来处理异常 属性: * var :用来出现异常保存到的变量. 代码: <c:catch var="e"> <% int i = ...

  3. JDBC连接数据库演示案例

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sq ...

  4. LVS集群之NAT模式实现

    LVS集群之NAT模式实现 一.集群的种类 集群系统主要分为 1.HA:高可用集群,又叫双机热备.   (a)原理      2台机器A,B,正常是A提供服务,B待命闲置,当A宕机或服务宕掉,会切换至 ...

  5. oracle中lead和lag函数 (转载)

    解决上一户和下一户问题这两个函数,是偏移量函数,其用途是:可以查出同一字段下一个值或上一个值. lead(col_name,num,flag) col_name是列名:num是取向下第几个值:flag ...

  6. xcode8 info.plist文件中的各种权限。

    NSContactsUsageDescription -> 通讯录 NSMicrophoneUsageDescription -> 麦克风 NSPhotoLibraryUsageDescr ...

  7. TFS二次开发系列:四、TFS二次开发WorkItem添加和修改、保存

    WorkItemStore:表示跟踪与运行 Team Foundation Server的服务器的工作项客户端连接. A.添加工作项 1.首先获得某服务器的WorkItemStore. WorkIte ...

  8. Windows phone 8.1布局控件

    布局控件(4种  第一种) Grid:相当于 HTML 中的 Table 标签,但是注意 Table 更重要的是展示数据,   而 Grid 则是专门为布局所生 属性标记: Grid.RowDefin ...

  9. python_配置

    代码示例:https://pan.baidu.com/s/1pLjLPSv 1.自动补全功能 许多人都知道 iPython 有很好的自动补全能力,但是就未必知道 python 也同样可以 Tab 键补 ...

  10. 最小生成树的Kruskal算法实现

    最近在复习数据结构,所以想起了之前做的一个最小生成树算法.用Kruskal算法实现的,结合堆排序可以复习回顾数据结构.现在写出来与大家分享. 最小生成树算法思想:书上说的是在一给定的无向图G = (V ...