【问题标题】:Switch to new browser opened after click on a button [Python][Selenium]单击按钮后切换到打开的新浏览器 [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) 由于某种原因不起作用,页面自动关闭,这不是我想要的。 如何让它工作?

【问题讨论】:

    标签: python windows selenium


    【解决方案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秒

    【讨论】:

      猜你喜欢
      • 2012-03-24
      • 2015-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多