在窗口(window)和框架(frame)間移動(dòng)

2021-07-02 17:04 更新

現(xiàn)在的網(wǎng)頁應(yīng)用里沒有頁面框架或者只用一個(gè)窗口就包含了所有內(nèi)容的已經(jīng)很少了。?WebDriver ?支持在指定的窗口間移動(dòng),方法為?switch_to_window?:

driver.switch_to_window("windowName")

現(xiàn)在所有的?driver?的調(diào)用都會(huì)指向這個(gè)給定的窗口,但是我們?cè)趺粗来翱诘拿质鞘裁茨??可以看一看打開這個(gè)窗口的?javascript?腳本或者?link?鏈接:

<a href="somewhere.html" target="windowName">Click here to open a new window</a>

或者,你可以傳一個(gè)?window handle?給?switch_to_window()?方法,它就可以像這樣迭代每一個(gè)打開的窗口:

for handle in driver.window_handles:
    driver.switch_to_window(handle)

你也可以在框架和框架之間切換 (或者進(jìn)入框架):

driver.switch_to_frame("frameName")

我們可以用?.?分離路徑來訪問子框架,并且可以指定它的索引:

driver.switch_to_frame("frameName.0.child")

這會(huì)跳到?'frameName'?框架內(nèi)第一個(gè)名為?'child'?的子框架。所有框架的計(jì)算都是從頂層開始的。

一旦我們操作完了框架,我們可以通過下面的操作回到父框架:

driver.switch_to_default_content()


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)