selenium/python:在关闭标签页后,试图打开新标签页打开之前关闭的标签页
问题描述:
我正在使用python 2.7。我已经看过thesequestions寻求帮助打开新标签中的链接,而且这似乎是最初工作。但是,我尝试关闭标签后遇到问题。这里是我的代码:selenium/python:在关闭标签页后,试图打开新标签页打开之前关闭的标签页
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循环内通过人阵,那里的人们是对应于用户的下列独立Twitter账户的网络元素的列表中的每个元素去。第一次运行时,它会在新标签中正确点击第一个人的个人资料,切换到已创建的标签,与其交互,关闭它,然后重新调整原始标签(包含人员列表)。但是,在第二次迭代中,当它“点击”第二个人时,它实际上为第一个人和第二个人打开了一个标签,这是不正确的。我相信只应该点击一件东西,现在是第二个人的个人资料,因为我只有一个点击动作,它在people[x]
上。
可能会出现什么问题?
答
尝试重复这一部分:
driver.switch_to.window(driver.window_handles[-1])
所以你的第二个用户如:
driver.switch_to.window(driver.window_handles[-2])
您将需要声明全局变量,在for循环结束更改值。
希望它有帮助。
尽管这在技术上有效,现在我正在与正确的页面进行交互,但它仍未解决在每次单击时打开多个选项卡的问题。我真的很想找到一种方法,只打开与我想单击的用户相对应的选项卡,否则我会留下许多打开的选项卡,即使我不使用它们。鉴于我将接近100次这样做,我不确定Chrome是否可以一次处理多个打开的选项卡,并且我希望避免每次都关闭n-1个选项卡,因为我相信这样做效率很低。 –