IDLE не прерывает мой просмотрщик селена, несмотря на driver.close и driver.quit - PullRequest
2 голосов
/ 09 июля 2020

Я написал этот сценарий, который работает именно так, как я хочу, однако при использовании IDLE браузер прокси-сервера Selenium не завершает работу. У меня не возникало этой проблемы при использовании Atom IDE, она правильно завершается в Atom. Почему он работает в Atom, а не в IDLE?

Вот сценарий:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import Select



def sbtgt():
    sbtgt_url = 'http://www.1line.williams.com/ebbCode/OACQueryRequest.jsp?BUID=80&type=OAC'
    sbtgt_driver = webdriver.Chome(filepath) 
    sbtgt_driver.get(sbtgt_url) 
    sbtgt_driver.find_element_by_css_selector("body > form > p > input[type=submit]").click()
    WebDriverWait(sbtgt_driver, 30).until(EC.number_of_windows_to_be(2))
    sbtgt_report = sbtgt_driver.window_handles[1]
    sbtgt_driver.switch_to_window(sbtgt_report)
    sbtgt_lighthouse = sbtgt_driver.find_element_by_xpath("/html/body/form/table/tbody/tr[2]/td/div/table[3]/tbody/tr[223]/td[9]").get_property("textContent")
    return sbtgt_lighthouse
    print(sbtgt_lighthouse)
    sbtgt_driver.close()
    sbtgt_driver.quit() 
    sbtgt() 

Все выполняется по желанию, ЗА ИСКЛЮЧЕНИЕМ driver.close и driver.quit ... в Atom IDE прокси браузер завершает работу и закрывается. В IDLE он остается открытым даже после завершения выполнения сценария. В целях автоматизации это становится проблемой, и я не уверен, почему она не закрывается.

Спасибо за помощь

1 Ответ

2 голосов
/ 09 июля 2020

похоже, что вы вызываете sbtgt_driver.close() и sbtgt_driver.quit() после оператора return, поэтому они не должны выполняться. Обязательно позвоните им и вернитесь.

...