6 6 模擬瀏覽器的前進後退 視窗控制代碼切換

2022-08-17 15:51:22 字數 1361 閱讀 1930

一、可以使用driver.get()方法開啟多個視窗但是會覆蓋,所以可以用前進後退進行操作

from selenium import

webdriver

import

time

driver_path = r"

d:\install\chromedriver\chromedriver.exe

"driver = webdriver.chrome(executable_path =driver_path)

#模擬瀏覽器的前進後退

driver.get('

')driver.get(

'')driver.back()

#後退到前乙個頁面

time.sleep(5)

driver.forward()

#前進到前乙個頁面

time.sleep(3)

driver.close()

二、開啟多個視窗及視窗間切換(重要)

1

""""""23

4from selenium import

webdriver

56 driver_path = r"

d:\install\chromedriver\chromedriver.exe

"7 driver = webdriver.chrome(executable_path =driver_path)89

#開啟多視窗頁面

10 driver.get('

')11 driver.execute_script("

window.open('')")

12print(driver.current_url) #

13#獲取所有視窗控制代碼

14 all_h =driver.window_handles

15print

(all_h)16#

切換視窗控制代碼

17 driver.switch_to.window(all_h[-1]) #

切換到最後乙個

18print

(driver.current_window_handle)

19print(driver.current_url) #

/2021

"""22

雖然在視窗中切換到了新的頁面,但是driver中還沒有切換

23如果想要在**中切換到新的頁面,並進行爬取,那麼要使用driver.switch_to.window()來指定切換的視窗

24可以從driver.window_handles中獲取視窗控制代碼,並進行選取。它是以視窗開啟的順序儲存視窗的控制代碼。

25"""

根據瀏覽器history模擬瀏覽器後退按鈕顯隱問題

措施 具體思路如下 1.開始開啟頁面時,瀏覽器的history.length為1,按鈕隱藏 2.當history.length 1時,點選按鈕執行 history.go 1 3.後退到歷史記錄棧中第一幀時,按鈕隱藏。出於瀏覽器安全性考慮,history中沒有給出屬性判斷其當前頁的位置,所以,在開始開...

瀏覽器前進後退時表單狀態的保持

先說一下各瀏覽器預設下,表單回退時的現象 除過ff以為,其餘瀏覽器都會儲存表單的狀態,ff加以後也儲存狀態成功 cache control取值有如下幾個 public,private,no cache,no store,no transform,must revalidate,proxy reval...

資料結構 棧 瀏覽器前進後退應用

瀏覽器前進後退 當你依次瀏覽a,b,c,然後回到b,再瀏覽d,就只能檢視a,b,d,了。原理 利用兩個棧a,b 瀏覽新網頁的時候,壓入棧a,清空棧b 前進,棧a獲取棧b的棧頂元素,棧b彈棧,並壓入棧a 後退,棧b獲取棧a的棧頂元素,棧a彈棧,並壓入棧b 題目 leetcode 5430.設計瀏覽器歷...