有没有一种方法可以强制Web浏览器打开新窗口,而不仅仅是在当前窗口中打开选项卡?

时间:2019-12-18 01:23:07

标签: python python-3.x python-webbrowser

import webbrowser
import os
n = ""
while (n == ""):
  n = input("How many pages do you want?\n")
start_page = ""
url = input("Yeezy Supply or Adidas?""\nEither 'YS' or 'Adidas'\n")
url_choice = url.lower()
#print(url_choice)

if url_choice == 'ys':
  start_page = "www.yeezysupply.com/"
elif url_choice == "adidas":
  start_page =  "www.adidas.com/yeezy"
#print(start_page)

page_number = list()
for i in range(0, int(n)):
  page_number.append(n)

for i in range(0, len(page_number)):
  chromelink = r"C:\Users\Michael\Desktop\FlashCop\bin\chromedriver.exe"
  webbrowser.register('chrome',None,webbrowser.BackgroundBrowser(chromelink))
  os.system(r'cmd /c "C:\Users\Michael\Desktop\FlashCop\bin\chromedriver.exe"start_page')
  webbrowser.open_new(start_page)

这仅在打开新选项卡时产生。有没有一种方法可以强制Chrome打开新窗口而不是新标签页?

1 个答案:

答案 0 :(得分:0)

尝试一下:

import subprocess

chrome_path = "chrome.exe --new-window"

times = ""
start_page = ""

while times == "":
    times = input("How many pages do you want?\n")

url = input("Yeezy Supply or Adidas?""\nEither 'YS' or 'Adidas'\n")
url_choice = url.lower()

if url_choice == 'ys':
    start_page = "www.yeezysupply.com/"
elif url_choice == "adidas":
    start_page = "www.adidas.com/yeezy"

page_number = list()
for i in range(0, int(times)):
    page_number.append(times)


for i in range(0, len(page_number)):
    command = 'cmd /c "%s %s"' % (chrome_path, start_page)
    process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)

由于--new-window标志,它将在新窗口中使用cmd(作为子进程)打开URL。


确保在路径变量中添加chrome.exe或chromedriver-{{3}} 或确保将完整的文件路径添加到要使用的webbrowser可执行文件/二进制文件中。