1. 程式人生 > >selnium無法定位到元素時檢查三種情況

selnium無法定位到元素時檢查三種情況

無法定位到元素時,一般檢查三種情況可以解決百分之九十九的問題:

1.檢查定位的元素的父級是否存在frame,如果有,先swith_to.frame()切入。
 (檢查方法:直接在元素中搜索frame關鍵字)

2.檢查定位的書寫正確性,如果使用ID、NAME無法定位時,請使用XPATH的定位方式定位元素。
 (XPATH有時定位單一標籤無法定位,請使用雙重定位,例://*[@id="Province"]/a/span[@id="searchBtn"])

3.假設上述兩種方法均未解決定位問題,請在定位之前新增強制等待time.sleep(3)
  (以上方法均嘗試後問題仍未解決,請返回至1、2重新檢查)

注意:如果是使用js寫的,請使用js定位方法去進行定位

js = 'document.getElementByID("su").click();'
driver.excute_script(js)

以下總結了5種js定位的方法

除了id是定位到的是單個element元素物件,其它的都是elements返回的是list物件

1.通過id獲取

document.getElementById(“id”)

2.通過name獲取

 document.getElementsByName(“Name”)

返回的是list

3.通過標籤名選取元素

document.getElementsByTagName(“tag”)

4.通過CLASS類選取元素

document.getElementsByClassName(“class”)

相容性:IE8及其以下版本的瀏覽器未實現getElementsByClassName方法

5.通過CSS選擇器選取元素

document.querySelectorAll(“css selector")