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

Python-如何打开多个浏览器窗口并在这些窗口上运行标签?[重复]

壤驷喜
2023-03-14

我对python很陌生,所以我是一个新手,我尝试过搜索,但似乎没有什么效果(至少我看到和测试过)。我还尝试了“webbrowser.get(chrome_path).open(url)”,但这并没有真正帮助我

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
import webbrowser

#path for the driver
driver  = webdriver.Chrome(executable_path="C:\mydriver\chromedriver")

driver.get("https://www.google.com")
driver.execute_script("window.open ('https://www.google.com', 'new window')")
driver.switch_to.window(driver.window_handles[0])

driver.execute_script("window.open ('https://www.bing.com','https://www.facebook.com', 'new window')")
driver.switch_to.window(driver.window_handles[1])

共有2个答案

奚才良
2023-03-14

您需要为每个新的浏览器窗口初始化<code>webdriver</code>实例:

from selenium import webdriver

urls = ['https://www.google.com', 'https://www.facebook.com', 'https://www.twitter.com']
for url in urls:
    driver = webdriver.Chrome()
    driver.get(url)
万俟招
2023-03-14

Selenium是一个在浏览器中测试图形用户界面的工具。从你的问题来看,听起来你只是想打开几个浏览器窗口。为什么不直接从Python的命令行运行Chrome/IE/Firefox/…。

import subprocess
subprocess.Popen("start chrome /new-tab www.google.com", shell=True)
 类似资料:
  • 我不清楚为什么我在以下示例中打开了3个chrome浏览器。我有一个@Before(cucumber版本)注释,只需在方案运行之前设置一个chrome webdriver实例。据我所知,它应该打开一个浏览器,运行场景(步骤定义),然后使用@Aftercucumber钩关闭。在第三个也是最后一个窗口实际执行步骤之前,打开2个窗口: 步骤定义: 当我单步执行Intellij中的代码时,将调用以下方法:

  • 我不知道为什么我为下面的示例打开了2个火狐浏览器。有人能告诉我下面的代码有什么问题吗?我是cucumber新手,我正在尝试使用页面对象模型开发cucumberpoc。 特征文件: 步骤定义文件: 步骤定义文件的实际实现:(首页.java) BasePage.java CustomerDetails.java 打开2个火狐浏览器:首先它打开一个空白浏览器。后来它打开另一个浏览器,并在此浏览器中打开应

  • 问题内容: 我正在尝试使用selenium for python在浏览器中打开一个新选项卡或一个新窗口。如果打开新的选项卡或新窗口并不重要,仅打开浏览器的第二个实例才很重要。 我已经尝试了几种不同的方法,但都没有成功。 切换到一个不存在的窗口,希望它在找不到该窗口时会打开一个新窗口: 通过打开的窗口进行迭代(尽管目前只有一个) 尝试模拟键盘按键 driver.send_keys(Keys.CONT

  • 问题内容: 我正在开发一个单页jQuery&Backbone.js Web应用程序。后端是JBoss 6应用服务器。 到目前为止,我们具有以下结构: 只有一个servlet(前端控制器)。来自JavaScript客户端的每个请求都会通过此处。 在servlet中-在某个JS客户端的第一个请求下-我看一下有状态会话bean。对于此客户端的下一个请求,我将查找结果存储在HTTP会话容器中。因此,每个J

  • 我已经手动为Google.com打开了一个浏览器窗口,还有另一个浏览器窗口是由selenium webdriver为Google.com打开的。 我如何识别哪一个是硒打开的? 这个问题是在一次采访中问我的。我回答说,selenium打开的窗口不会有插件,还有一个是用Driver。关闭,但面试官说还有其他办法也可以识别。

  • 问题内容: 在同一浏览器的选项卡/窗口之间进行JavaScript通信的最可靠方法是什么?例如,当选项卡2开始播放音频时,选项卡1以某种方式知道这一点并可以暂停其播放器。 我正在建立一个带有音乐播放器的网站…因此,如果您现在打开该网站的两个标签,则可以同时在两者上播放音乐。这显然是不好的,所以我正在尝试寻找解决方案。 有任何想法吗?谢谢 问题答案: 这是一个旧的答案,我建议使用此处描述的现代版本: