如何在不知道索引的情况下将 WebDriver 移动到新打开的 Chrome 选项卡?

How can I move WebDriver to new opened Chrome tab without knowing index?

我在 Chrome 中使用 Selenium Python 绑定来实现 Web 浏览器自动化。作为自动化脚本的一部分,我单击 link,网站在新选项卡中打开该页面。但是,我的 python 脚本中的 WebDriver 对象仍然指向第一个选项卡。

我已经尝试了 上提供的所有选项,但 none 成功了。

到目前为止,我能够开始工作的唯一代码是:

driver.switch_to.window(driver.window_handles[1])

我遇到的问题是,恐怕我不能保证新标签位于索引 1,我也不认为我可以保证新标签位于最后一个索引。我确实尝试过使用这样的键:

driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.TAB)

但是使用一些日志记录我看到驱动程序仍然指向第一个选项卡。有没有办法专注于 chrome 正在显示的当前选项卡?

每当我遇到这样的情况时,我都会切换到最后一个 window 句柄,到目前为止它对我有用:

driver.switch_to.window(driver.window_handles[-1])