watir不能識別frame解決辦法

2021-06-13 08:36:17 字數 550 閱讀 3630

這個問題網上可以搜到很多,但是都是場面上的東西;都是要求必須要使用frame標籤,不能跳過這個而直接定位到frame下的子標籤。比如:

ie.frame("menu").link(:text, "click menu item").click

除此之外,frame的識別如果是通過webdriver去跑用例的話,一般能正常查詢到;而如果是用舊版的方式去跑用例,則ie中不一定能識別到frame。因為舊版driver是基於js來實現的,所以有跨域問題,此時如果frame的url和內嵌主頁的url不是同乙個域的話就會有信任關係,因此可能造成定位frame失敗的情況。

解決辦法:

ie設定把frame的url域新增到信任**中,把安全級別調整為低。這樣使用舊版driver跑ie就可以正確識別frame了。

注:新版webdriver沒有上述問題,因為新版webdriver不是基於js實現的,而是直接呼叫各個瀏覽器核心介面【通過iedriverserver.exe, chromedriverserver.exe等】,所以不存在跨域問題,也就不需要新增信任**的事了。

Watir 進行物件識別方式

單屬性查詢 當頁面中某物件可以由某個屬性唯一標識時,可以用單屬性查詢法。其語法遵循 ie.object class 如 多屬性組合查詢 當乙個頁面中存在多個屬性相同的物件,不能通過單個屬性來識別某個物件時,我們可以用多個屬性組合來查詢,如一資料 中有多行,每行分別有乙個 radio 按鈕,它們名字屬...

phg不能識別Trilinos

先安裝的trilinos,以及其中的特徵值解法器anasazi,但是在配置phg時就是不能識別出trilinos,檢查config.log時,發現下面的資訊 conftest.cpp 71 34 fatal error epetra mpicomm.h no such file or directo...

INSERT EXEC PROC不能巢狀的解決方法

insert exec proc不能巢狀的解決方法 儲存過程c返回乙個結果集,儲存過程b用insert exec proc將c返回的結果集存入乙個臨時表中並返回乙個結果集,如果儲存過程a用insert exec proc再將b的結果集存入乙個臨時表,這時會報錯 insert exec 語句不能巢狀。...