1.動態id定位不到元素
for example:
//webelement xiexin_element = driver.findelement(by.id("_mail_component_82_82"));
webelement xiexin_element = driver.findelement(by.xpath("//span[contains(.,『寫 信』)]"));
xiexin_element.click();
上面一段**注釋掉的部分為通過id定位element的,但是此id「_mail_component_82_82」後面的數字會隨著你每次登陸而變化,此時就無法通過id準確定位到element。
所以推薦使用xpath的相對路徑方法查詢到該元素。
2.iframe原因定位不到元素
密碼重置
原本可以通過
webelement element = driver.findelement(by.linktext(「密碼重置」));
來定位此元素,但是由於該元素在iframe id="left_frame"這個frame裡邊 所以需要先通過定位frame然後再定位frame裡邊的某乙個元素的方法定位此元素
webelement element =driver.switchto().frame(「left_frame」).findelement(by.linktext(「密碼重置」));
3.不在同乙個frame裡邊查詢元素
大家可能會遇到頁面左邊一欄屬於left_frame,右側屬於right_frame的情況,此時如果當前處在
left_frame,就無法通過id定位到right_frame的元素。此時需要通過以下語句切換到預設的content
driver.switchto().defaultcontent();
例如當前所在的frame為left_frame
webelement xiaoshoumingxi_element = driver.switchto().frame(「left_frame」).findelement(by.linktext(「銷售明細」));
xiaoshoumingxi_element.click();
需要切換到right_frame
driver.switchto().defaultcontent();
select quanzhong_select2 = new select(driver.switchto().frame(「right_frame」).findelement(by.id(「coupon_type_str」)));
quanzhong_select2.selectbyvisibletext(「售後0小時」);
xpath描述錯誤
這個是因為在描述路徑的時候沒有按照xpath的規則來寫 造成找不到元素的情況出現
6.firefox安全性強,不允許跨域呼叫出現報錯
錯誤描述:uncaught exception: [exception… 「component returned failure code: 0x80004005 (ns_error_failure) [nsidomnshtmldocument.execcommand]」 nsresult: 「0x80004005 (ns_error_failure)」 location:
selenium定位不到元素
selenium定位不到元素時,網上大部分查到都是iframe的切換問題,然後是多視窗 控制代碼的處理問題,在初學是遇到定位不到元素,一直在找上面的問題,發現都不是上面的問題,後來才發現是頁面重新整理的問題,頁面重新整理後,元素就失效了,需要重新定位元素,哪怕看到元素重新整理前後並沒有變化,可是它確...
為什麼selenium定位不到元素
在做web應用的自動化測試時,定位元素是必不可少的,這個過程經常會碰到定位不到元素的情況,一般可以從以下幾個方面著手解決 1 frame iframe原因定位不到元素 這個是最常見的原因,首先要理解下frame的實質,frame中實際上是嵌入了另乙個頁面,而webdriver每次只能在乙個頁面識別,...
selenium定位不到a標籤
當頁面中使用的a標籤代替button去執行submit的方法時,通過class name,css selecter 類選擇器 都沒辦法定位a標籤,但是通過css selecter 屬性名 屬性值 xpath可以定位到。定位不到a標籤 driver.find element by class name...