在Python中,我想首先打开一个新的浏览器选项卡并显示一个网站。该程序将显示其他png图像,然后再返回到显示网站。就像一张幻灯片。我尝试使用下面显示的webbrowser.open语句打开网站,其" new“参数等于1,希望不会打开一个新的选项卡,但是每次调用webbrowser.open时,Chrome浏览器上都会打开一个新选项卡。
您能告诉我需要什么编码才能确保一旦浏览器中打开一个选项卡,对webbrowser.open的额外调用就不会为网站打开新的选项卡?
webbrowser.open('https://mawaqit.net/en/abricc-acton-01720-united-states', new=1)
发布于 2022-03-30 16:38:30
我不熟悉webbrowser工具,但是使用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")
另外,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)
我希望这其中至少有一些内容是有益的。
发布于 2022-03-30 16:14:14
医生说
webbrowser.open( url,new=0,autoraise=True)使用默认浏览器显示url。如果新建为0,则在可能的情况下在同一浏览器窗口中打开url。如果新建为1,则在可能的情况下打开新的浏览器窗口。如果新建为2,则在可能的情况下打开一个新的浏览器页(“tab”)。如果autoraise为True,则会在可能的情况下引发该窗口(请注意,在许多窗口管理器下,无论该变量的设置如何,都会发生这种情况)。
这里没有显示它可以替换或关闭当前选项卡,因此恐怕您必须使用Selenium之类的选项卡。
https://stackoverflow.com/questions/71680422
复制相似问题