如何在浏览器最小化时使用 selenium webdriver 执行测试

Min*_*hao 5 python selenium webdriver selenium-webdriver

我尝试运行这个程序。它可以很好地处理代码,但是当我最小化浏览器时,会弹出错误。程序似乎无法找到该按钮。有什么我可以用来修复它的吗?帮助

import selenium
from selenium import webdriver
from selenium.webdriver.support.ui import Select
import os
import datetime
from tkinter import *
from tkinter import filedialog
from tkinter import messagebox as msgbox

# Using Chrome to access web
driver = webdriver.Chrome()


master = Tk()
master.resizable(0, 0) #0 means false
genType = StringVar(master)       
options = ["1-Day Admission Only", "Audio Only"]
genType.set(options[0])


def optionChanged(var):
    if var == "1-Day Admission Only":
        met()
    elif var == "Audio Only":
        met()

genTypeMenu = OptionMenu(master, genType, *options, command=optionChanged)
        
def start():
    opt = genType.get()
          
    if opt == "1-Day Admission Only":


        
def met_one_day_admission():
    for i in range(int(qty.s.get())): 
        #do somethig here
        
b = Button(master, text="Start", width=20, command=start, fg="red")    
        
qty = entry_with_label("Quantity :", "100")


genTypeMenu.pack()
b.pack()
Run Code Online (Sandbox Code Playgroud)

Deb*_*anB 6

当您通过Selenium启动测试执行时,浏览器通常会以最大化模式启动。现在,要执行您的程序/脚本,Selenium需要将焦点放在渲染HTML DOM 的浏览器客户端上。当测试执行正在进行,如果用户手动强制最小化浏览器,Selenium 将失去焦点,并且会在任何时间点引发异常,从而停止测试执行

\n\n

您可以在浏览器被手动中断时 Selenium 停止中找到详细讨论

\n\n

为什么最小化浏览器会出现找不到元素的错误

\n\n

WebDriver 使用内置的自动化支持的 browser\xe2\x80\x99s 直接驱动浏览器。WebDriver 尝试尽可能接近地对用户体验和操作进行建模,并使用每个浏览器\xe2\x80\x99 对自动化的本机支持直接调用浏览器。对用户体验进行建模需要一定的设计、技术以及与元素交互的支持。这些交互及其支持的功能取决于您使用的浏览器。简而言之,如果浏览器最小化, Selenium很可能无法工作,因为浏览器窗口最小化时用户无法与网页交互。

\n\n

您可以在 Selenium 中找到@JimEvans 的详细分析-Why does minimined browser Give element not find 错误而 max does\t

\n