繁体   English   中英

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

[英]How to execute tests with selenium webdriver while browser is minimized

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

 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()

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

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

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

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

您可以在Selenium 中找到来自 @JimEvans 的详细分析- 为什么最小化的浏览器会给出未找到元素的错误,而 max 没有

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM