xpath定位不到元素 python selenium webdriver無(wú)法定位title值,該怎么辦?
python selenium webdriver無(wú)法定位title值,該怎么辦?“”“獲取頁(yè)面的所有iframe名稱(chēng)“”iframe=browser.find元素按標(biāo)記名(“iframe”)命名對(duì)于
python selenium webdriver無(wú)法定位title值,該怎么辦?
“”“獲取頁(yè)面的所有iframe名稱(chēng)“”
iframe=browser.find元素按標(biāo)記名(“iframe”)命名
對(duì)于iframe中的選項(xiàng):
iframes=option.getattribute(“outerHTML”)
print(“frame is:”,str(iframes),“”)browser.find元素按標(biāo)記名(“iframe”)[5]#切換到第六個(gè)元素框架browser.implicit等待(30)#瀏覽器最多可以等待30秒才能加載
selenium如何定位沒(méi)有id的frame?
selenium可以使用XPath或CSS來(lái)定位目標(biāo)。
對(duì)于frame,如果沒(méi)有ID,可以使用name或其他屬性來(lái)定位它。例如,//frame[@name=“XXX”
如果沒(méi)有屬性,例如,//div[@id=“AAA”]//frame
可能是您的定位方法有問(wèn)題,或者可能在不同的框架中找不到它,
selenium找不到頁(yè)面元素,頁(yè)面已經(jīng)顯示了但是還是找不到?
XPath定位,您可以使用Chrome瀏覽器,右擊頁(yè)面查看元素,然后彈出開(kāi)發(fā)者工具,顯示頁(yè)面所選部分的源代碼并突出顯示所選位置,在源代碼中單擊鼠標(biāo)右鍵,選擇copyxpath
名稱(chēng)、ID、linktext和classname是web元素的屬性,一般的開(kāi)發(fā)人員不會(huì)將這些屬性全部用于一個(gè)元素,您可以在測(cè)試時(shí)使用要定位的屬性。通常,最好根據(jù)ID或name來(lái)定位元素。如果一個(gè)元素沒(méi)有這些屬性,可以根據(jù)XPath來(lái)定位它,XPath是一種在XML文件中定位元素的方法,任何難以定位的元素都可以給它。Cssselector類(lèi)似于XPath。有人說(shuō),元素定位是一種更有效的方法,但定位規(guī)則沒(méi)有很好地理解。
Selenium定位彈層元素,無(wú)法獲?。?/h2>
猜測(cè)原因如下,請(qǐng)檢查:
原因1:XPath的指定位置尚未顯示,并且已單擊automation,因此找不到元素。解決辦法是增加等待時(shí)間,線(xiàn)程。睡眠(3000)是3秒。
原因2:XPath指定的位置受前后的影響。例如,您需要單擊其他內(nèi)容來(lái)顯示它,因此您需要處理它。
建議:建議XPath定位使用相對(duì)路徑定位,建議使用絕對(duì)路徑定位。
selenium怎么定位IFrame里面的元素?
Locate page element//Locate element webelement by ID=驅(qū)動(dòng)程序.findElement( 按id(“ID name”)//按名稱(chēng)查找元素webelement=驅(qū)動(dòng)程序.findElement( 按名稱(chēng)(“name”)//通過(guò)XPath查找元素webelement=驅(qū)動(dòng)程序.findElement( 按.xpath(“XPath path”)//定位元素webelement按標(biāo)記值=驅(qū)動(dòng)程序.findElement( 按.linkText(“value of label”)//根據(jù)class=驅(qū)動(dòng)程序.findElements( 按.className(“class value”)//按標(biāo)記名查找元素列表=驅(qū)動(dòng)程序.findElements( 按標(biāo)記名(“標(biāo)記名”)