单击按钮后使用Selenium切换到新窗口

时间:2017-11-02 19:07:52

标签: python xml selenium

我正在处理一个非常简单的网页项目并且卡住了一点。我正在使用一个网站,在填写表单并单击按钮后,我会在新窗口中显示所需的XML文档数据。但是,我不知道如何访问它,因为我没有给出窗口名称

browser = Browser('firefox')
browser.visit('http://desiredurl/')
form = browser.find_by_id('input')
button = browser.find_by_id('send')
form.fill(string)
button.click()

单击按钮会触发ajax请求(doAjaxRequest(“POST”,url,xml);)并打开一个包含XML文档的新窗口。从打开的XML访问数据的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

您的问题的解决方案是将Explicitwait expected_conditions作为number_of_windows_to_be,然后切换到新窗口,如下所示:

parent = driver.current_window_handle
button = browser.find_by_id('send')
form.fill(string)
button.click()
WebDriverWait(driver, 10).until(
    EC.number_of_windows_to_be(2)
    )   
child = driver.window_handles[1]      
driver.switch_to_window(child) 
print ("Child Window ID is : %s" %child)
print("Child Window Title is : %s " %(driver.title)) 
相关问题