【问题标题】:IDLE doesn't terminate my selenium broswer despite driver.close and driver.quit尽管 driver.close 和 driver.quit,IDLE 不会终止我的 selenium 浏览器
【发布时间】:2020-10-30 08:41:56
【问题描述】:

我已经编写了这个脚本,它完全按照我想要的方式工作,但是在使用 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 上,即使脚本运行完毕,它也会保持打开状态。出于自动化目的,这变得很麻烦,我不确定为什么它不会关闭。

感谢您的帮助

【问题讨论】:

    标签: python function selenium error-handling automation


    【解决方案1】:

    看起来您在 return 语句之后调用了 sbtgt_driver.close()sbtgt_driver.quit(),因此它们不应该被执行。确保调用它们然后返回。

    【讨论】:

    • 难以置信我是多么的无知
    • @Raj 这很容易发生,不要对自己太苛刻
    猜你喜欢
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 2018-01-22
    • 2018-04-22
    • 2017-05-26
    • 2012-02-24
    • 2015-04-23
    • 1970-01-01
    相关资源
    最近更新 更多