我在Chrome中使用Selenium Python Bindings进行Web浏览器自动化。作为自动化脚本的一部分,我单击一个链接,网站将在新选项卡中打开该页面。但是,我的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显示的当前选项卡?
答案 0 :(得分:2)
每当我遇到这样的情况时,我会切换到最后一个窗口句柄,到目前为止它对我有用:
driver.switch_to.window(driver.window_handles[-1])