本文主要是记录一些在做自动化过程中,无法定位的一些元素,因为对HTML理解不深,所以遇到的坑需要一一化解,后续遇到的会陆续记录。

一、a标签的href属性值等于javascript:void(0)

1.首先解释下javascript:void(0),javascript是网页的脚本语言之一,而void是javascript的操作符,意思就是只执行表达式,但是没有返回值(在C、java等语言中void也是没返回值),更直白的就是点了跟没点是一样的。举例说明一下:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>测试a标签</title>
</head>
<body>
<div>
<a href="javascript:void(0)" id="abc">测试</a>
</div>
</body>
</html>

以上代码,用浏览器打开,点击“测试”链接,可以看到页面中不会有任何反应,所以在定位遇到javascript:void(0)时,千万要注意实际操作一下,不要一昧的写代码,却发现一直实现不了操作。当然并不仅仅是javascript:void(0),还有其他:

(1)<a href="javascript:;" id="abc">测试</a>    与javascript:void(0)效果一致

(2)<a href="####" id="abc">测试</a>   几个#无所谓

但是:

为什么说但是呢?因为你在实际操作中,发现a标签使用了javascript:void(0),也会跳转url啊,这是为什么?因为强大的JS脚本,下面来个简单示例:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>测试a标签</title>
</head>
<body>
<div>
<a href="javascript:void(0);" id="abc">测试</a>
</div>
<script src="jquery.min.js"></script>
<script type="text/javascript">
$("#abc").click(function(){
window.open("http://www.baidu.com","_self")
})
</script>
</body>
</html>

以上示例,主要是a标签使用了javascript:void(0),但是还可以用js来控制点击事件,为什么这么麻烦呢?直接把url写在href属性里就搞定啦,这是因为多种情况下的请求,url会变,所有用js可以拿到不同的url去请求。再次解释一下,虽然这个很简单还要这么啰嗦,主要是为了说明为什么,从根本理解。

二、style=display:none

同样的解释一下:

display:none ---不为被隐藏的对象保留其物理空间,即该对象在页面上彻底消失,通俗来说就是看不见也摸不到。注意,是说页面上彻底消失,不代表HTML中消失啊,在使用定位的时候,隐藏的元素也是可以找到的,但对元素操作就会抛出异常。

SO,在Selenium定位的时候可要注意了,不要看到元素就定位,运行一直报错,然后检查定位没错啊,结果搞得烦死。

举例:

selenium之HTML元素无法定位相关推荐

  1. selenium 中隐藏元素如何定位?

    前言 面试题:selenium 中隐藏元素如何定位?这个是很多面试官喜欢问的一个题, 如果单纯的定位的话,隐藏元素和普通不隐藏元素定位没啥区别,用正常定位方法就行了 但是吧~~~很多面试官自己都搞不清 ...

  2. seleniumpython定位网页元素方法_使用Selenium对网页元素进行定位的诸种方法

    使用Selenium进行自动化操作,首先要做的就是通过webdriver的get()方法打开一个URL链接. 在打开链接,完成页面加载之后,就可以通过Selenium提供的接口,在页面上进行各种操作了 ...

  3. 进阶4·淘宝商品爬取与分析(selenium,网页元素无法定位的四个解决办法)

    淘宝估计是爬虫界一直想要去尝试的网页,小彬自学爬虫已有一段时间,在掌握selenium后就一直想要本着学习交流的态度和淘宝程序员叔叔切磋一下,嘻嘻. 唉,没想到这一切磋就耗费了我一天时间,不过还好,最 ...

  4. selenium中隐藏元素如何定位

    1.什么是隐藏元素??? 前端通过一些属性来控制元素隐藏 type = "hidden" style = "display:none" margin设为负值 z ...

  5. 【转载】selenium webdriver进行元素定位

    原文:http://www.cnblogs.com/qingchunjun/p/4208159.html 在使用selenium webdriver进行元素定位时,通常使用findElement或fi ...

  6. 大型情感剧集Selenium:3_元素定位 #华为云·寻找黑马程序员#

    关于昨天的文章 今天有朋友反馈,代码运行的时候,selenium提示警告 DeprecationWarning: use options instead of chrome_options drive ...

  7. Selenium自动化测试-3.元素定位(3)

    ------·今天距2020年81天·------ 这是ITester软件测试小栈第55次推文 大家好 我是vivi小胖虎 前面已经介绍过7种元素定位方法 相信这些积攒堆积起来的技巧 都会在实际工作时 ...

  8. Selenium自动化测试-3.元素定位(2)

    ------·今天距2020年82天·------ 这是ITester软件测试小栈第54次推文 大家好 我是vivi小胖虎 今天我们学习xpath定位元素 如果你告诉我 不是你不想用selenium做 ...

  9. Selenium自动化测试-3.元素定位(1)

    ------·今天距2020年83天·------ 这是ITester软件测试小栈第53次推文 大家好 我是vivi小胖虎 今天继续selenium系列 实例示范 即学即用 学成之后 你就是整条gai ...

  10. 使用selenium webdriver进行元素定位

    在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素.其中By类的常用定位方式共八种,现分别介绍如下 ...

最新文章

  1. vmware6.5实现基于win2003的群集
  2. 学计算机科学与技术考研考哪些专业课程,计算机科学与技术考研考哪些科目 备考技巧有哪些...
  3. C#中的接口 (转自吕振宇老师的blog)
  4. 用odac连接oracle 12154,OracleConnection 連線出現「ORA-12154: TNS: 無法解析指定的連線 ID」...
  5. tp中的M,D,C,A,I,S方法
  6. 通过WAD和Docker热部署Java Enterprise
  7. ASP.NET核心之路微服务第01部分:构建视图
  8. K-means算法的学习笔记
  9. 启动标志_机动车检验标志电子化启动首日,已有市民将电子凭证申领到手
  10. Android4.4点击无响应,webview某些超链接点击无响应的问题
  11. html-webpack-template, 一个更好的html web service插件
  12. uva-110-没有for循环的排序
  13. html中多个div分开排列,CSS+DIV设计实例:多个DIV排列时居中
  14. bat怎么发起网络请求_接口测试实战| GETPOST 请求区别详解
  15. mysql数据库异地备份
  16. 如何把几张图片合成一个pdf?
  17. DataFrame 修改列名
  18. mysql存储特殊表情符号,解决mysql存储特殊文字(表情符号)utf8mb4
  19. 已知两点和切线如何确定圆心和半径长度
  20. SpringBoot中post请求报405错误排坑

热门文章

  1. STM32神舟III号 驱动直流电机学习(四 )
  2. 二阶采样matlab程序,Sea-clutter-simulation 海杂波仿真程序,包括单基地雷达和双 的一阶、二阶 matlab 272万源代码下载- www.pudn.com...
  3. matlab 运动控制系统设计与实现,电力传动控制系统:运动控制系统
  4. 微弱光信号检测MATLAB,基于数字锁相放大器的微弱光电信号检测研究
  5. 读书行动笔记2013第2本:《整理的艺术》
  6. html在线快递单号打印,HTML 快递打印模板(示例代码)
  7. 计算机声音控制程序,怎么管理电脑各程序的音量-单独调节各个程序音量的方法 - 河东软件园...
  8. mt6735通用recovery_mt6735刷机包下载
  9. 初中计算机flash基本知识,初中信息技术flash课件
  10. 罗克露计算机组成原理书籍,计算机组成原理完整版罗克露全原版.ppt