控制浏覽器前進(forward)、後退(back)、重新整理(refresh)
今天遇到一個需求,當我想從一個父頁面跳轉到子頁面進行操作,操作完之後沒有“傳回”之類的按鈕或連結,重新進入父頁面又很麻煩。
是以整理這篇文章作為總結。
我們能看到的浏覽器導航欄的三個按鈕 —— 後退、前進、重新整理,所對應的如下
driver.back()
driver.forward()
driver.refresh()
我直接使用CSDN作為例子,打開我自己的部落格首頁,點選學院。
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
print('base_url: ', driver.current_url)
driver.find_element_by_xpath("//*[text()='學院']").click()
sleep(2)
print('after search: ', driver.current_url)
driver.back()
print('back to: ', driver.current_url)
driver.forward()
print('forward to: ', driver.current_url)
sleep(2)
driver.refresh()
print('refresh: ', driver.current_url)
sleep(2)
driver.quit()
注意這裡回退網頁後,需要重新定位元素,不能使用之前的,會出錯。繼續用上面的例子:
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
print('base_url: ', driver.current_url)
ele = driver.find_element_by_xpath("//*[text()='學院']")
sleep(2)
driver.refresh()
ele.click()
sleep(2)
driver.quit()
重新整理頁面後需要重新去定位,改正:
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
print('base_url: ', driver.current_url)
ele = driver.find_element_by_xpath("//*[text()='學院']")
sleep(2)
driver.refresh()
driver.find_element_by_xpath("//*[text()='學院']").click()
sleep(2)
driver.quit()