两个 chrome windows 并且在 运行 selenium chrome 驱动程序之后意外退出
Two chrome windows and unexpected quit after running selenium chromedriver
我的项目中有 3 个文件:main.py、g_webdriver.py 和 whatever.py。它们看起来像这样:
main.py:
import g_webdriver
import whatever
g_webdriver.run_chrome('https://whosebug.com')
g_webdriver.py:
from selenium import webdriver
driver = webdriver.Chrome()
def run_chrome(url:str):
driver.get(url)
driver.maximize_window()
whatever.py:
from selenium import webdriver
driver = webdriver.Chrome()
如果我 运行 我的 main.py 文件,selenium 打开两个单独的 chrome windows:一个加载了 stackoveflow 网站,另一个空白 data:,
url吧。当然我只想开一个window。如何解决这个问题?另外我必须提到我试图摆脱驱动程序变量并直接通过 webdriver.Chrome()
打开我的 chrome 但这种方法也不起作用,因为它打开两个单独的 windows (一个加载页和一个空白)就像第一个一样,几秒钟后关闭。
当您 运行 main 时,python 导入 g_webdriver
并执行该文件中的所有代码,包括行:
driver = webdriver.Chrome()
那是第一个 window 打开的时候。
然后 python 导入 whatever
并再次 运行s driver = webdriver.Chrome()
,所以你得到另一个单独的 window。 webdriver.Chrome()
总是创建一个新的 window.
此时2windows打开空白页,你在g_webdriver.driver
打开Whosebug。
您可以将打开 Chrome window 提取到另一个文件并将一个共享驱动程序导入到两个文件:
chrome_window.py:
from selenium import webdriver
driver = webdriver.Chrome()
g_webdriver.py:
from selenium import webdriver
from chrome_window import driver
def run_chrome(url:str):
driver.get(url)
driver.maximize_window()
whatever.py:
from chrome_window import driver
我的项目中有 3 个文件:main.py、g_webdriver.py 和 whatever.py。它们看起来像这样:
main.py:
import g_webdriver
import whatever
g_webdriver.run_chrome('https://whosebug.com')
g_webdriver.py:
from selenium import webdriver
driver = webdriver.Chrome()
def run_chrome(url:str):
driver.get(url)
driver.maximize_window()
whatever.py:
from selenium import webdriver
driver = webdriver.Chrome()
如果我 运行 我的 main.py 文件,selenium 打开两个单独的 chrome windows:一个加载了 stackoveflow 网站,另一个空白 data:,
url吧。当然我只想开一个window。如何解决这个问题?另外我必须提到我试图摆脱驱动程序变量并直接通过 webdriver.Chrome()
打开我的 chrome 但这种方法也不起作用,因为它打开两个单独的 windows (一个加载页和一个空白)就像第一个一样,几秒钟后关闭。
当您 运行 main 时,python 导入 g_webdriver
并执行该文件中的所有代码,包括行:
driver = webdriver.Chrome()
那是第一个 window 打开的时候。
然后 python 导入 whatever
并再次 运行s driver = webdriver.Chrome()
,所以你得到另一个单独的 window。 webdriver.Chrome()
总是创建一个新的 window.
此时2windows打开空白页,你在g_webdriver.driver
打开Whosebug。
您可以将打开 Chrome window 提取到另一个文件并将一个共享驱动程序导入到两个文件:
chrome_window.py:
from selenium import webdriver
driver = webdriver.Chrome()
g_webdriver.py:
from selenium import webdriver
from chrome_window import driver
def run_chrome(url:str):
driver.get(url)
driver.maximize_window()
whatever.py:
from chrome_window import driver