junjie0927 发表于 2020-7-15 09:22

python selenium获取IE浏览器页面句柄问题

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

driver = webdriver.Ie()
ele = driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 't')
time.sleep(3)
print(driver.window_handles)
driver.get('http://www.baidu.com')

handle = driver.current_window_handle
print(handle)
ele = driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 't')
time.sleep(5)
print(driver.window_handles)

我这里有一段代码,是调用IE浏览器的。

但是不管新建多少个窗口,句柄永远都是只能获取一个。其他页面的句柄获取不了。
因为WMV视频只能在IE上看。所以我只能调用IE浏览器。

请各位大神帮帮忙。要如何获取IE所有标签页面句柄?

飞鲲之梦 发表于 2020-7-15 09:37

junjie0927 发表于 2020-7-15 09:42

飞鲲之梦 发表于 2020-7-15 09:37
获得的句柄不是以列表形式存在吗,我记得是用列表来进行句柄切换的
你先获取到所有句柄,然后进行切换

就是获取不了,不管打开多少个标签页面,只能获取第一个。后面的都获取不了。其他谷歌浏览器则不存在这个问题。

飞鲲之梦 发表于 2020-7-15 09:44

junjie0927 发表于 2020-7-15 09:45

飞鲲之梦 发表于 2020-7-15 09:44
那就是IE的问题了,版本太低或者selenium不支持了

{:1_923:}那有没有其他办法解决非IE内核浏览器播放WMV视频课件的问题?

飞鲲之梦 发表于 2020-7-15 09:47

RuiBox 发表于 2020-7-15 09:54

本帖最后由 RuiBox 于 2020-7-15 09:56 编辑

第11 行代码表示的是一个list
你在打开多个窗口的情况下,可以迭代出所有已经打开的窗口。
文档说的很清楚
https://selenium-python-zh.readthedocs.io/en/latest/navigating.html#id9
for handle in driver.window_handles:
    driver.switch_to_window(handle)

jy02427010 发表于 2020-7-15 09:56

    # option.add_extension('d:\crx\AdBlock_v2.17.crx')# 自己下载的crx路径
chrome下载IE插件看看
https://chrome.zzzmh.cn/info?token=hehijbfgiekmjfkfjpbkbammjbdenadd

derain 发表于 2020-7-15 09:58

试试 edge webdriver

https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

junjie0927 发表于 2020-7-15 10:09

飞鲲之梦 发表于 2020-7-15 09:47
必须IE?你把IE的版本升一下级或者selenium回退几个版本试试,微软都放弃IE了(更别说selenium了)

是啊,那些视频只能IE内核才能播放,谷歌、火狐等非IE内核播放不了。
国内双内核的浏览器,切换到IE内核后,selenium就驱动不了。
页: [1] 2
查看完整版本: python selenium获取IE浏览器页面句柄问题