- N +

iframe的name屬性(bootstrap內(nèi)聯(lián)表單)

python selenium webdriver無(wú)法定位title值,該怎么辦

定位不到元素,絕大部分原因都是frame框架沒(méi)選對(duì),有些網(wǎng)頁(yè),在你打開窗口的時(shí)候,源碼才會(huì)顯示出來(lái)在哪個(gè)frame里面,對(duì)于這個(gè)問(wèn)題,推薦你在打開頁(yè)面的時(shí)候,獲取全部的frame名字,看看在哪個(gè)frame:

'''獲取該頁(yè)面所有的iframe名字'''

iframe=browser.find_elements_by_tag_name("iframe")

foroptioniniframe:

iframes=option.get_attribute("outerHTML")

print("frameis:",str(iframes),"")

配合F12查找,再切換:

iframe=browser.find_elements_by_tag_name("iframe")[5]#切換到第六個(gè)frame框架

2.還有一個(gè)原因是網(wǎng)頁(yè)沒(méi)加載出來(lái),程序已經(jīng)跑下去了,這里建議讓瀏覽器等待數(shù)據(jù)加載完再繼續(xù)執(zhí)行下一步:

browser.implicitly_wait(30)#瀏覽器最多等待30秒加載時(shí)間

當(dāng)然也可以使用強(qiáng)制等待:

time.sleep(30)

DEDECMS中,如何把field.title傳給IFRAME中的“name”這個(gè)表格中

用參數(shù)傳遞

<IFRAMEsrc="a.html?title={dede:field.title/}"></iframe>

然后在iframe接到這個(gè)參數(shù)title賦值給name表的value

可以js獲取

/*

獲取指定的URL參數(shù)值

URL:http://www.blogjava.net/blog?name=bainian

參數(shù):paramNameURL參數(shù)

調(diào)用方法:getParam("name")

返回值:bainian

*/

//1.

functiongetParam(paramName)

{

paramValue="";

isFound=false;

if(this.location.search.indexOf("?")==0&&this.location.search.indexOf("=")>1)

{

arrSource=unescape(this.location.search).substring(1,this.location.search.length).split("&");

i=0;

while(i<arrSource.length&&!isFound)

{

if(arrSource[i].indexOf("=")>0)

{

if(arrSource[i].split("=")[0].toLowerCase()==paramName.toLowerCase())

{

paramValue=arrSource[i].split("=")[1];

isFound=true;

}

}

i++;

}

}

returnparamValue;

}

哪些標(biāo)簽含有name屬性

查手冊(cè)會(huì)查到很多,如:

FRAME,FRAMESET,IFRAME,META,

A,APPLET,attribute,BUTTON,EMBED,FORM,IMG,INPUTtype=button,INPUTtype=checkbox,INPUTtype=file,INPUTtype=hidden,INPUTtype=image,INPUT

type=password,INPUTtype=radio,INPUTtype=reset,INPUTtype=submit,INPUTtype=text,LINK,MAP,OBJECT,RT,RUBY,SELECT,TEXTAREA,PARAM

返回列表
上一篇:
下一篇: