当前位置: 首页 > 知识库问答 >
问题:

如何使用WebDriver在chrome中打开新窗口而不是新标签?

束雅达
2023-03-14

我试图在Chrome中找到某种功能设置或配置文件来自动打开一个新窗口中的链接,这些链接应该在一个标签中打开,但没有找到任何令人信服的解决方案,大多数建议都是Ctrl+点击链接。

共有1个答案

侯池暝
2023-03-14

我不是网页设计大师,但我可以建议以下场景:

// Get required page
// Excecute below JavaScript with JavaScriptExecutor
var reference = document.querySelector('a#someID').getAttribute('href'); // You can use your specific CSS Selector instead of "a#someID"
document.querySelector('a#someID').setAttribute("onclick", "window.open('" + reference + "', '', 'width=800,height=600')")
document.querySelector('a#someID').removeAttribute('href')
// Find target link
// Click on it

此代码应该允许您在目标Web元素的HTML源代码中进行更改,以强制其在新的浏览器窗口中打开。

注意,使用此代码,元素在页面上的外观将被更改,直到页面刷新

from selenium import webdriver as web

dr = web.Chrome()
dr.get('https://login.live.com/login.srf?&wreply=https%3a%2f%2foutlook.live.com%2fowa%2f%3fnlp%3d1%26realm%3dlogin.live.com')

dr.execute_script("""
    var reference = document.querySelector('a#ftrTerms').getAttribute('href');
    document.querySelector('a#ftrTerms').setAttribute("onclick", "window.open('" + reference + "', '', 'width=800,height=600')")
    document.querySelector('a#ftrTerms').removeAttribute('href')
    """)
link = dr.find_element_by_id('ftrTerms')
link.click()
 类似资料:
  • 本文向大家介绍如何使用JavaScript在新标签页(而不是新窗口)中打开URL?,包括了如何使用JavaScript在新标签页(而不是新窗口)中打开URL?的使用技巧和注意事项,需要的朋友参考一下 在新选项卡中打开URL取决于浏览器和用户的浏览器首选项。您无法在代码中执行任何操作来强制严格在新选项卡中打开链接。 但是,如果您希望用户在新标签页或窗口中打开它(取决于他们的偏好),则可以将以下属性添

  • 问题内容: 我正在使用Selenium WebDriver。每个链接都会在新的浏览器窗口中打开。这对我来说不方便。如何更改它以便仅在新选项卡中打开? 问题答案: 硒目前无法切换标签。因此,我们迫使浏览器在新窗口中打开链接,但是由于我们能够切换窗口,因此我们迫使浏览器采用这种方法。这 可能 会在更高版本中修复

  • 我正在使用Selenium WebDriver。每个链接都在一个新的浏览器窗口中打开。对我来说不方便。我如何更改它,使它只在新选项卡中打开?

  • 问题内容: 我正在尝试在新选项卡(而不是弹出窗口)中打开URL。 我看到了相关的问题,答案看起来像这样: 但是它们都不适合我,浏览器仍然尝试打开一个弹出窗口。 问题答案: 作者无法选择在新标签页中打开,而不是在新窗口中打开。这是用户的偏爱。 CSS3提出了新的目标,但是该规范被放弃了。 的反向是不正确的; 通过在的第三个参数中指定窗口的尺寸,可以在选项卡的首选项触发新窗口。

  • 编辑4: 编辑2 上面的代码为父窗口或子窗口提供了相同的标题。

  • 新选项卡正在打开,但URL链接未打开。