如何在最小化浏览器的情况下使用selenium webdriver执行测试

2024-09-28 18:56:05 发布

您现在位置:Python中文网/ 问答频道 /正文

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

{<1分$ 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()

Tags: fromimport程序masteronlytkintervardef
1条回答
网友
1楼 · 发布于 2024-09-28 18:56:05

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

{你可以在a2}找到详细的讨论

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

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

您可以在Selenium -Why does minimized browser give element not found error whereas max doesn't的@JimEvans中找到详细的分析

相关问题 更多 >