Я новичок в 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 непрерывных итераций, поэтому я предполагаю, что проблема заключается только в том, что вы не можете минимизировать окно в селене и ожидать, что оно продолжит работать.
Однако, хотел подтвердить / посмотреть, есть ли обходной путь.
Спасибо!