首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >*解决了* Python -每次调用webbrowser.open时都在同一个浏览器选项卡中显示网站

*解决了* Python -每次调用webbrowser.open时都在同一个浏览器选项卡中显示网站
EN

Stack Overflow用户
提问于 2022-03-30 15:56:06
回答 2查看 392关注 0票数 -1

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

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

代码语言:javascript
运行
复制
webbrowser.open('https://mawaqit.net/en/abricc-acton-01720-united-states', new=1)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-03-30 16:38:30

我不熟悉webbrowser工具,但是使用selenium,下面的所有内容都保留在相同的选项卡中。

代码语言:javascript
运行
复制
# 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中提供的其他一些工具如下所示。如果您想要新的选项卡,但需要来回切换到“父”选项卡,这些选项卡非常有用:

代码语言:javascript
运行
复制
# 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)

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

票数 1
EN

Stack Overflow用户

发布于 2022-03-30 16:14:14

医生说

webbrowser.open( url,new=0,autoraise=True)使用默认浏览器显示url。如果新建为0,则在可能的情况下在同一浏览器窗口中打开url。如果新建为1,则在可能的情况下打开新的浏览器窗口。如果新建为2,则在可能的情况下打开一个新的浏览器页(“tab”)。如果autoraise为True,则会在可能的情况下引发该窗口(请注意,在许多窗口管理器下,无论该变量的设置如何,都会发生这种情况)。

这里没有显示它可以替换或关闭当前选项卡,因此恐怕您必须使用Selenium之类的选项卡。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71680422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档