selnium無法定位到元素時檢查三種情況
阿新 • • 發佈:2019-01-12
無法定位到元素時,一般檢查三種情況可以解決百分之九十九的問題:
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")