Python - 使用Selenium打开多个选项卡

Sho*_*lot 6 selenium tabs google-chrome

我正在使用Python.我试图在chrome上打开两个标签,每个标签都放在不同的网站上.这是我的代码:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time


browser=webdriver.Chrome()
browser.get('http:/reddit.com')
browser.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 't')
time.sleep(3)
browser.get('http://bing.com')
Run Code Online (Sandbox Code Playgroud)

当我运行它时,第一个选项卡打开到reddit.com,然后另一个选项卡打开到我的默认网页,然后在原始选项卡中打开bing.com.我希望第一个选项卡转到Reddit,第二个选项卡转到bing,但browser.get('website')只在第一个选项卡上执行.

Flo*_* B. 18

要与窗口交互,您需要使用该窗口设置上下文driver.switch_to.window.使用脚本注入打开新选项卡也会更容易:

browser=webdriver.Chrome()

#first tab
browser.get('http:/reddit.com')

#second tab
browser.execute_script("window.open('about:blank', 'tab2');")
browser.switch_to.window("tab2")
browser.get('http://bing.com')
Run Code Online (Sandbox Code Playgroud)


小智 7

尝试这样的python:

browser=webdriver.Chrome()
browser.get('http:/reddit.com')
window_before = driver.window_handles[0]
browser.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 't')
window_after = driver.window_handles[1]
driver.switch_to_window(window_after)
time.sleep(3)
browser.get('http://bing.com')
Run Code Online (Sandbox Code Playgroud)