【问题标题】:How can I move WebDriver to new opened Chrome tab without knowing index?如何在不知道索引的情况下将 WebDriver 移动到新打开的 Chrome 选项卡?
【发布时间】:2015-10-06 02:01:58
【问题描述】:

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

我已经尝试了this answer 提供的所有选项,但都没有成功。

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

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

我遇到的问题是,我担心我不能保证新标签会在索引 1 处,我认为我也不能保证新标签在最后一个索引处。我确实尝试过使用这样的键:

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

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

【问题讨论】:

    标签: python google-chrome selenium selenium-webdriver chrome-web-driver


    【解决方案1】:

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

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

    【讨论】:

    • 我不知道 -1 会自动切换到最后一个选项卡,谢谢!我会尝试一下,但不幸的是,我正在自动化的网站因维护而关闭(只是我的运气),但我会告诉你它是如何工作的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-26
    • 2011-12-10
    • 2017-01-28
    • 2023-02-06
    • 1970-01-01
    • 1970-01-01
    • 2017-05-19
    相关资源
    最近更新 更多