一、可以使用driver.get()方法開啟多個視窗但是會覆蓋,所以可以用前進後退進行操作
from selenium importwebdriver
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.設計瀏覽器歷...