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

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窗口,句柄高低不太清楚,一般是后打开的窗口句柄处于最后一个(最高)
    划掉的代码你移到上面会有提示,估计是说这个方法即将被弃用,建议你使用另一个切换窗口方法

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月29日
  • 已采纳回答 10月21日
  • 修改了问题 10月21日
  • 创建了问题 10月21日

悬赏问题

  • ¥15 Python语言实验
  • ¥15 SAP HANA SQL 增加合计行
  • ¥20 用C#语言解决一个英文打字练习器,有偿
  • ¥15 srs-sip外部服务 webrtc支持H265格式
  • ¥15 在使用abaqus软件中,继承到assembly里的surfaces怎么使用python批量调动
  • ¥15 大一C语言期末考试,求帮助🙏🙏
  • ¥15 ch340驱动未分配COM
  • ¥15 Converting circular structure to JSON
  • ¥30 Hyper-v虚拟机相关问题,求解答。
  • ¥15 TSM320F2808PZA芯片 Bootloader