当在页面中操作,导致了新窗口的打开,同时你要去新窗口中进行操作。
而selenim一直处于第一个窗口中,所以需要对窗口进行切换才能在新窗口中操作。
代码如下:
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.cnblogs.com/")
# 获取当前所在的窗口
print(driver.current_window_handle)
driver.find_element(By.XPATH,'//a[contains(text(),"分布式限流框架使用介绍")]').click()
driver.implicitly_wait(10)
all_handle = driver.window_handles
#获取所有的窗口句柄,并且返回一个列表。窗口在列表当中的顺序,按照窗口的打开顺序。最新打开的,就是最后一个。
print(all_handle)
now_handle = driver.switch_to.window(all_handle[-1]) #切换到最新窗口
driver.find_element(By.XPATH,'//a[contains(text(),"刷新评论")]').click()
time.sleep(3)
driver.close() #关闭当前窗口
driver.quit()