如何让Firefox在同一个窗口中打开通过WebDriver打开的所有链接?

Pet*_*kov 10 firefox webdriver selenium-firefoxdriver selenium-webdriver

我想在新窗口中打开同一窗口中的所有链接.我试过了

profile.setPreference("browser.link.open_newwindow", 1)
Run Code Online (Sandbox Code Playgroud)

但结果是:

WARNING: traffic.loop 0 error: Preference browser.link.open_external may not be overridden: frozen value=2, requested value=1
Run Code Online (Sandbox Code Playgroud)

还有另一种方法可以在同一个窗口中打开链接吗?

Mat*_*lid 5

您应该修改 firefox 配置文件参数:

profile = webdriver.FirefoxProfile()

profile.set_preference("browser.link.open_newwindow", 3)

profile.set_preference("browser.link.open_newwindow.restriction", 0)

driver = webdriver.Firefox(firefox_profile=profile)

如果此方法不起作用,您可以使用 firefox 选项设置偏好:

from selenium.webdriver.firefox.options import Options

opts = Options()

opts.set_preference("browser.link.open_newwindow.restriction", 0)

opts.set_preference("browser.link.open_newwindow", 3)

driver = webdriver.Firefox(firefox_options=opts)


(A) browser.link.open_newwindow - 用于 Firefox 标签中的链接:

3 : 将新窗口转移到新标签页(默认)

2:允许链接打开新窗口

1:强制新窗口进入同一选项卡

(B) browser.link.open_newwindow.restriction - 用于 Firefox 选项卡中的链接

0 : 将 (A) 下的设置应用于所有新窗口(甚至脚本窗口)

2 : 将 (A) 下的设置应用于普通窗口,但不应用于具有功能的脚本窗口(默认)

1 : 覆盖 (A) 下的设置并始终使用新窗口


Man*_*dan -1

实际上,Selenium 不负责在新窗口或同一窗口中打开页面。它完全取决于您用于执行的浏览器设置。

为了方便起见,请使用 Firefox 浏览器

如果您想在新窗口中打开所有链接。执行这些步骤

  1. 打开工具
  2. 单击选项
  3. 单击选项卡菜单
  4. 勾选方框Open new windows in a new tab instead.

现在单击打开一个窗口的链接。它将在同一窗口的新选项卡中打开。