单击按钮后切换到新浏览器[Python] [Selenium]

时间:2015-01-30 15:28:41

标签: python windows selenium

我有一种情况,我点击一个按钮打开一个新的浏览器窗口。有没有办法连接到新打开的窗口?并使用它,然后返回到原始浏览器(第一个窗口)。

谢谢。

经过网上的彻底调查后,我设法让一些代码正常工作

Currentwindow = driver.window_handles
Likebutton = driver.find_element_by_css_selector(".single_like_button .btn3").click()
newwindow = driver.window_handles
newwindow = list(set(newwindow) - set(Currentwindow))[0]
driver.switch_to.window(newwindow)
driver.find_element_by_id("watch-like").click()
driver.implicitly_wait(5)
driver.close()

问题是命令driver.implicitly_wait(5)由于某种原因无法正常工作,页面会自动关闭,这不是我想要的。 我如何让它运作?

2 个答案:

答案 0 :(得分:3)

driver.switch_to.window(handle)

将焦点切换到指定的窗口。 handle可以是名称或窗口句柄。

您可以使用

driver.window_handles

查找窗口句柄列表。

您可能会发现这些功能很有用:

driver.switch_to.active_element     
driver.switch_to.default_content    
driver.switch_to.parent_frame   
driver.switch_to.alert 
driver.switch_to.frame 
driver.switch_to.window

答案 1 :(得分:0)

对你来说太迟了,但也许这会对某人有所帮助

driver.implicitly_wait(5)

此命令等待,页面加载或5秒。 如果它将在1秒内加载,那么

driver.close() 

1秒后运行。 如果它在7秒内加载,那么

driver.close() 

5秒后运行

您可以使用

import time

time.sleep(5)

无论如何它将等待5秒