首页 > 解决方案 > Selenium TypeError:this.tabModal 为空

问题描述

from selenium import webdriver
from time import *
from selenium.webdriver.support import expected_conditions as EC
driver=webdriver.Firefox()
driver.get('https://www.google.com/')
driver.execute_script("alert('qwer');")
print(EC.alert_is_present()(driver))
# driver.switch_to.alert.accept()
sleep(5)
driver.execute_script("alert('qwer');")

如果我们手动接受警报,那么最后一行会出现错误

selenium.common.exceptions.WebDriverException: Message: TypeError: this.tabModal is null

检查 selenium 模块后, alert_is_present()切换到警报窗口。因此,如果尝试切换到主窗口,但由于我在交互模式下运行,每个语句都会再次引发错误。

>>> selenium.__version__ #'3.141.0'
geckodriver -V #geckodriver 0.24.0 ( 2019-01-28)
Firefox -V #67.0 (64-bit)
Windows 10

壁虎司机日志

Marionette threw an error: TypeError: this.tabModal is null
get ui@chrome://marionette/content/modal.js:159:5
GeckoDriver.prototype._handleUserPrompts@chrome://marionette/content/driver.js:3256:23
GeckoDriver.prototype.switchToFrame@chrome://marionette/content/driver.js:1672:14
despatch@chrome://marionette/content/server.js:289:40
execute@chrome://marionette/content/server.js:262:16
onPacket/<@chrome://marionette/content/server.js:235:20
onPacket@chrome://marionette/content/server.js:236:9
_onJSONObjectReady/<@chrome://marionette/content/transport.js:492:20

如何在不关闭会话的情况下解决这个问题?

标签: pythonselenium

解决方案


推荐阅读