当前位置: 首页>編程日記>正文

selenium之HTML元素无法定位

selenium之HTML元素无法定位

本文主要是记录一些在做自动化过程中,无法定位的一些元素,因为对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定位的时候可要注意了,不要看到元素就定位,运行一直报错,然后检查定位没错啊,结果搞得烦死。

举例:


https://www.fengoutiyan.com/post/15619.html

相关文章:

  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機