单击按钮后切换到打开的新浏览器 [Python][Selenium]
Posted
技术标签:
【中文标题】单击按钮后切换到打开的新浏览器 [Python][Selenium]【英文标题】:Switch to new browser opened after click on a button [Python][Selenium] 【发布时间】:2015-03-30 02:56:25 【问题描述】:我有一种情况,我单击了一个打开新浏览器窗口的按钮。有什么方法可以连接到新打开的窗口?并使用它,然后返回到原始浏览器(第一个窗口)。
谢谢。
在网上进行了一番彻底的调查后,我设法让一些代码正常工作
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)
由于某种原因不起作用,页面自动关闭,这不是我想要的。
如何让它工作?
【问题讨论】:
【参考方案1】: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
【讨论】:
更新了另一个问题【参考方案2】:对你来说太晚了,但也许这会对某人有所帮助
driver.implicitly_wait(5)
这个命令等待,当页面加载或 5 秒。 如果它将在 1 秒内加载,则
driver.close()
1 秒后运行。 如果它在 7 秒内加载,那么
driver.close()
5 秒后运行
你可以使用
import time
time.sleep(5)
反正会等5秒
【讨论】:
以上是关于单击按钮后切换到打开的新浏览器 [Python][Selenium]的主要内容,如果未能解决你的问题,请参考以下文章
使用 BeautifulSoup Python 单击按钮后获取价值