m0_57965808
2021-10-21 10:53
采纳率: 96.9%
浏览 38
已结题

selenium跳转到新页面中的句柄问题

背景:运用selenium爬取某文库
问题:在爬取过程中需要跳转到新的页面,在我查找操作方法的时候发现了一个名为句柄的东西。看了一些解释但感觉还是不是很明确。希望能解释一下,另外有代码如下:

from selenium import webdriver
from time import sleep
import urllib
import os
import time
driver = webdriver.Firefox()#火狐浏览器
driver.implicitly_wait(10)
driver.maximize_window()
url = 'http://www.eastmoney.com/'
driver.get(url)
a = driver.find_element_by_xpath("/html/body/div[3]/div[5]/div/ul[1]/li[1]/a[1]/strong").click()
#选择财富网的财经专栏,点击进去
print(driver.current_url)#打印当前的url
hand = driver.window_handles#获取当前的所有句柄
print(hand)#打印当前的所有句柄
driver.switch_to_window(hand[1])#转换窗口至最高的句柄
result_url = driver.current_url#获取当前句柄之后的url
print(driver.current_url)#打印当前句柄之后的url

想知道倒数第3行代码是什么意思,以及句柄的高低是怎么计算的。
并且,为什么我将倒数第三行代码写入我的代码之后会出现划掉的情况:

img

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • 江天暮雪丨 2021-10-21 11:12
    已采纳

    句柄就是一个窗口的ID。
    倒数第三行就是切换driver窗口,句柄高低不太清楚,一般是后打开的窗口句柄处于最后一个(最高)
    划掉的代码你移到上面会有提示,估计是说这个方法即将被弃用,建议你使用另一个切换窗口方法

    评论
    解决 1 无用
    打赏 举报

相关推荐 更多相似问题