selenium python - 留下弹出窗口挂起

时间:2017-05-25 15:23:08

标签: python selenium geckodriver

我想在selenium python中模拟以下行为(python v2.7,selenium v​​3.4.2,geckodriver):

  1. 点击打开弹出窗口的页面上的链接

  2. 在弹出窗口中选择链接并单击

  3. 在主窗口上执行其他操作

  4. 我有以下代码:

    main_window_handle = None
    while not main_window_handle:
        main_window_handle = driver.current_window_handle
    driver.find_element_by_xpath('//*[@title="Open Search Window"]').click()
    search_window_handle = None 
    while not search_window_handle:
        for handle in driver.window_handles:
            if handle != main_window_handle:
                search_window_handle = handle
                break
    driver.switch_to.window(search_window_handle)
    driver.switch_to.frame("resultsFrame")
    print "Clicking results frame"
    driver.find_element_by_link_text("TestResult").click()
    print "Expecting window to close"
    driver.switch_to.window(main_window_handle)
    

    它适用于打开弹出窗口,选择框架并单击该框架上的链接。弹出窗口已关闭(这是正确的)但是selenium在此之后挂起,并且“Expecting window to close”的print语句永远不会被执行。它看起来很奇怪,尤其是硒永远不会超时并且一直悬挂直到过程被手动中断。

    编辑:

    看起来它可能是geckodriver的一个问题,我用chromedriver执行代码并且它有效。

0 个答案:

没有答案