Как выполнить тесты с помощью селенового веб-драйвера, когда браузер свернут - PullRequest
0 голосов
/ 25 сентября 2018

Я пытаюсь запустить эту программу.он работает нормально с кодами, однако, когда я свернул браузер, всплыла ошибка.кажется, что программа не может найти кнопку.Есть ли что-нибудь, что я могу использовать, чтобы исправить это.помощь

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

1 Ответ

0 голосов
/ 26 сентября 2018

Когда вы запускаете Выполнение теста - Селен , обычно Браузер запускается в режиме maximized ,Теперь, чтобы выполнить вашу программу / скрипт, Selenium требуется focus на Browser Client , который отображает HTML DOM .Если Выполнение теста равно Выполняется , если пользователь принудительно принудительно свернет браузер , Selenium потеряет focus , и возникнет исключениевозникает в любой момент времени, что останавливает выполнение теста .

Подробное обсуждение можно найти в Селен останавливается, когда браузер прерывается вручную

Почему свернутый браузер выдает ошибку «элемент не найден»

WebDriver управляет браузером напрямую, используя встроенную в браузер поддержку автоматизации.WebDriver пытается смоделировать взаимодействие с пользователем и действия максимально близко и делает прямые вызовы к браузеру, используя встроенную поддержку каждого браузера для автоматизации.Моделирование взаимодействия с пользователем требует определенного дизайна, технологии и поддержки взаимодействия с элементами.Эти взаимодействия и поддерживаемые ими функции зависят от используемого вами браузера.Короче говоря, скорее всего, Selenium не будет работать, если браузер свернут, поскольку пользователь не может взаимодействовать с веб-страницей, когда окно браузера свернуто.

Подробный анализ можно найти в @JimEvans в Selenium - почему свернутый браузер выдает ошибку «элемент не найден», в то время как max не

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...