Селен ломается после переключения из окна - PullRequest
0 голосов
/ 29 июня 2019

Я новичок в Stack и Selenium, так что простите меня, если это просто:

Я пишу скрипт Selenium (Python), который в основном проходит через сайт учебника бесконечное количество раз для визуальных целей.(не для тестирования, просто чтобы продемонстрировать, как постоянно проходить по сайту).Кажется, что программа работает и работает вечно, как задумано.

Мой вопрос таков: должен ли селен разрушаться, если вы не работаете в окне ChromeDriver?

Я заметил, что программа, написанная выше ^, ломается, если вы переключаете окна / минимизируете контролируемое селеном окно Chrome.Я в основном получаю TimeoutException, потому что он больше не может найти элемент.Я не уверен, что именно так был разработан селен, но есть ли решение этой проблемы?

Я включил явное ожидание, пока сайт догонит программу, а затем получит исключение TimeoutException (перехвачено).

def elemClick(elem):
    try:
        highClick(elem)
        mouseTo(elem)
        elem.click()
        time.sleep(1)
    except TimeoutException:
        print("Loading took too much time!")
def tour():
    while True:
        time.sleep(3)
        try:
            elem = driver.find_element_by_xpath("//div[@class='btnnextblock']")
            elemClick(elem)
        except ElementNotVisibleException:
            break
while 0 < 1:
    if btnNum == 1:
        print("Tour 1")
    elif btnNum == 2:
        print("Tour 2")
    elif btnNum == 3:
        print("Tour 3")
    else:
        btnNum = (int)(input("Path not recognized - Enter again: "))
    tour()
    count += 1
    time.sleep(1)

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

Однако, хотел подтвердить / посмотреть, есть ли обходной путь.

Спасибо!

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