selenium / python:关闭选项卡后,尝试打开新选项卡将打开以前关闭的选项卡

时间:2017-07-27 16:20:18

标签: python selenium tabs

我使用的是python 2.7。我已经查看these questions以获取有关在新标签中打开链接的帮助,这似乎最初有效。但是,一旦我尝试关闭选项卡,我就会遇到问题。这是我的代码:

actions.key_down(Keys.COMMAND).click(people[x]).key_up(Keys.COMMAND).perform()
driver.switch_to.window(driver.window_handles[-1]) # now at user page
# interact with user page
driver.close()
driver.switch_to.window(driver.window_handles[0])

这是在一个for循环中,遍历people数组中的每个元素,其中people是一个Web元素列表,对应于用户关注的各个Twitter配置文件。在第一次运行时,它会在新选项卡中正确点击第一个人的个人资料,切换到创建的选项卡,与之交互,关闭它,并在原始选项卡上重新聚焦(包含人员列表) 。但是,在第二次迭代中,当它点击"在第二个人身上,它实际上为第一人称和第二人打开了一个标签,这是不正确的。我相信它应该只点击一件事,现在它将成为第二人称的个人资料,因为我只有一次点击操作,而且它在people[x]上。

可能出现什么问题?

1 个答案:

答案 0 :(得分:0)

尝试迭代这部分:

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

所以你的第二个用户就像:

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

您需要声明全局变量并更改for循环结束时的值。

希望它有所帮助。

相关问题