*** 已解决 *** Python - 每次调用 webbrowser.open 时在同一浏览器选项卡中显示网站
*** Solved *** Python - Displaying a web site in the same browser tab each time webbrowser.open is called
在 Python 中,我想首先打开一个新的浏览器选项卡并显示一个网站。该程序将显示其他 png 图像,然后再循环回显示该网站。这就像幻灯片放映。我尝试使用下面显示的 webbrowser.open 语句打开网站,“New”参数等于 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)
Display url using the
default browser. If new is 0, the url is opened in the same browser
window if possible. If new is 1, a new browser window is opened if
possible. If new is 2, a new browser page (“tab”) is opened if
possible. If autoraise is True, the window is raised if possible (note
that under many window managers this will occur regardless of the
setting of this variable).
这里没有说它可以替换或关闭当前选项卡,所以恐怕您将不得不使用类似 Selenium 的东西。
我不熟悉 webbrowser 工具,但使用 selenium webdriver 以下所有内容都在同一个选项卡中。
# 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.whosebug.com")
另外,selenium 中提供的一些其他工具如下。如果您想要新标签但需要来回切换到“父”标签,这些将很有用:
# 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)
我希望至少其中的某些内容对您有所帮助。
在 Python 中,我想首先打开一个新的浏览器选项卡并显示一个网站。该程序将显示其他 png 图像,然后再循环回显示该网站。这就像幻灯片放映。我尝试使用下面显示的 webbrowser.open 语句打开网站,“New”参数等于 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) Display url using the default browser. If new is 0, the url is opened in the same browser window if possible. If new is 1, a new browser window is opened if possible. If new is 2, a new browser page (“tab”) is opened if possible. If autoraise is True, the window is raised if possible (note that under many window managers this will occur regardless of the setting of this variable).
这里没有说它可以替换或关闭当前选项卡,所以恐怕您将不得不使用类似 Selenium 的东西。
我不熟悉 webbrowser 工具,但使用 selenium webdriver 以下所有内容都在同一个选项卡中。
# 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.whosebug.com")
另外,selenium 中提供的一些其他工具如下。如果您想要新标签但需要来回切换到“父”标签,这些将很有用:
# 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)
我希望至少其中的某些内容对您有所帮助。