【发布时间】: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