Python-每次调用webbrowser.open时,在同一浏览器选项卡中显示一个网站



在Python中,我想首先打开一个新的浏览器选项卡并显示一个网站。该程序将显示其他png图像,然后再循环显示网站。这就像一个幻灯片。我试图使用下面显示的webbrowser.open语句打开带有";新的";参数等于1,期望不打开新选项卡,但每次调用webbrowser.open时,Chrome浏览器上都会打开一个新选项卡。

你能告诉我需要什么编码来确保一旦在浏览器中打开选项卡,对webbrowser.open的额外调用就不会为网站打开新的选项卡吗?

webbrowser.open('https://mawaqit.net/en/abricc-acton-01720-united-states', new=1)

文档显示

webbrowser.open(url,new=0,autoraise=True(使用显示url默认浏览器。如果new为0,则在同一浏览器中打开url窗口(如果可能的话(。如果new为1,则如果可能的如果new为2,则如果可能的如果autoraise为True,则窗口会在可能的情况下升高(注意在许多窗口管理器下,无论该变量的设置(。

这里没有任何内容表明它可以替换或关闭当前选项卡,所以我担心您将不得不使用类似Selenium的东西。

我不熟悉网络浏览器工具,但使用selenium网络驱动程序,以下内容都在同一个选项卡中。

# import
from selenium import webdriver
from selenium.webdriver.common.by import By
# browser setup
browser = webdriver.Chrome()
browser.implicitly_wait(10)
# open url
browser.get("http://www.google.com")
# click element on page (same tab)
browser.find_element(By.XPATH,"/html/body/div[1]/div[1]/div/div/div/div[1]/div/div[2]/a").click()
# open new URL (same tab)
browser.get("http://www.stackoverflow.com")

此外,以下是硒元素中可用的其他一些工具。如果你想要新的选项卡,但需要来回切换到";"父";选项卡:

# assign tab variables (window_handle = tab apparently)
window = browser.current_window_handle
parent = browser.window_handles[0]
child = browser.window_handles[1]
# switch to new tab
browser.switch_to.window(parent)

我希望其中至少有一些内容是有益的。

最新更新