当前位置: 首页 > 知识库问答 >
问题:

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

越扬
2023-03-14

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

我已经尝试了这个答案提供的所有选项,但没有一个是成功的。

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

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

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

但是通过一些日志记录,我看到驱动程序仍然指向第一个选项卡。有没有办法把注意力集中在chrome显示的当前选项卡上?

共有1个答案

孙泳
2023-03-14

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

driver.switch_to.window(driver.window_handles[-1])
 类似资料:
  • 我有一个场景,就像当我点击一个链接时,它在新选项卡中打开。使用Selenium WebDriver我们如何处理它。 据我所知,我们不能切换到新的标签,但当我在网上搜索时,得到了以下一些解决方案。 null

  • 问题内容: 新标签页正在打开,但URL链接未打开。 问题答案: 我检查了以下代码,它对我来说很好。我从这里找到了答案。

  • 我已经用一些视频(比如10个)实现了一个回收器视图。单击任何项目都会打开一个上,其中包含所有项目显示单击的一个(来自)。之后,用户只能从那里滚动到其他项目。一切正常。 唯一的问题是当recyclerview项单击viewpager2打开的位置时滚动。 无论何时选择任何项目(第10个)。viewpager首先打开,然后滚动到(第10)个位置。我想不滚动直接打开viewpager2的第10个位置。任何

  • 我在处理多维数组时遇到问题。我试图使用指针让“123”、“456”、“x123”和“x456”出现在函数内部的屏幕上: 编译时,我在

  • 这感觉是一个非常愚蠢的问题,但我缺乏JS知识加上缺乏AWS知识让我陷入困境!我只是想掌握基本的AWS堆栈,即Lambda/Dynamo/API网关,以进行一些基本的API工作。 如果我想要一个简单的APIendpoint来处理PUT请求,例如。如果我有一个DynamoDB表,它的复合主键是和,我可以使用下面的代码片段来获取未知数据(设置模式时未知的属性),但这显然效果不佳 我可以使用以下 JSON

  • 问题内容: 我有个问题。我正在尝试将一些字符串转换为日期,但我不知道日期到达的格式。 这或许让他们或等。 如何将这些字符串转换为Date?我尝试了这个: 但是,当我打印出someDate时,它的打印方式是这样的:2019-08-05 12:42:48.638 CEST这意味着,但是当我运行以上代码时,日期对象现在变成了,至少可以这样说。 有什么想法可以正确格式化日期格式吗? 问题答案: 你不能!