为什么模式窗口没有取代selenium2和Python中较早的窗口?

2024-04-29 19:50:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Selenium-2Python。在点击一个图像,我应该得到一个新的模式窗口取代当前的一个。新窗口不会出现。这是我点击的图片的代码。你能猜到为什么新的模态窗口不能打开吗?你知道吗

<input type="image" src="/rhis/images/add2.png" onclick="A4J.AJAX.Submit('modalFormResultPatientSearchPatientSearchForm',event,{'oncomplete':function(request,event,data){Richfaces.hideModalPanel('modalFormResultPatientSearch');},'similarityGroupingId':'modalFormResultPatientSearchPatientSearchForm:patientSearchDataTableId:0:patientContorlsubmitSearch','parameters':{'backingBeanName':'','patientId':'901317','patSearchMrno':'UH0000003923','onPatientSelectCallBack':'','modalFormResultPatientSearchPatientSearchForm:patientSearchDataTableId:0:patientContorlsubmitSearch':'modalFormResultPatientSearchPatientSearchForm:patientSearchDataTableId:0:patientContorlsubmitSearch'} ,'eventsQueue':'modalFormResultPatientSearchsearcha4jQueue'} );return false;" name="modalFormResultPatientSearchPatientSearchForm:patientSearchDataTableId:0:patientContorlsubmitSearch" id="modalFormResultPatientSearchPatientSearchForm:patientSearchDataTableId:0:patientContorlsubmitSearch">

未显示的目标模式窗口是

<div style="width:100%;" id="opdBrowserEncounterForm:j_id277" class="rich-panel "><div id="opdBrowserEncounterForm:j_id277_header" class="rich-panel-header "><table width="100%"><tbody><tr><td class="alignLeft">Create Encounter</td><td class=" alignRight"><input type="submit" value=" View All"name="opdBrowserEncounterForm:j_id282"></td></tr></tbody></table></div><div id="opdBrowserEncounterForm:j_id277_body" class="rich-panel-body "><div style="display:none;" class="messagePanelInline" id="opdBrowserEncounterForm:encounterMessagesAndErrors"></div>

单击按钮并期望转到目标窗口的Python代码。它点击“找到按钮”并挂起。:-

  element = driver.find_element_by_id('modalFormResultPatientSearchPatientSearchForm:searchTable__patientSearchDataTableId:0:propertyField')
    element.send_keys('Patient Name')


    element = driver.find_element_by_id('modalFormResultPatientSearchPatientSearchForm:searchTable__patientSearchDataTableId:0:textValueField')
    element.clear()

    try:
        wait = WebDriverWait(driver, 10)
        element = driver.find_element_by_xpath('//div[@id="modalFormResultPatientSearchPatientSearchForm:searchTable__patientSearchDataTableId:0:j_id845"]/select[@name="modalFormResultPatientSearchPatientSearchForm:searchTable__patientSearchDataTableId:0:j_id847"]')

    except:
        driver.quit()


    element = driver.find_element_by_id('modalFormResultPatientSearchPatientSearchForm:searchTable__patientSearchDataTableId:0:textValueField')
    element.send_keys('Ram Lal')

    element = driver.find_element_by_id('modalFormResultPatientSearchPatientSearchForm:searchTable__patientSearchDataTableId:commonSearchButton')
    element.click()

    try:
        element = driver.find_element_by_xpath('//td[span[normalize-space(text())="Ram Lal"]][1]/following-sibling::td[./input[@type="image"]]')
        action = ActionChains(driver)
        action.double_click(element)
        action.perform()
        print 'i found the button !'
    except:
        print 'i did not find the button'
        pass

Tags: dividinputbytypedriverelementfind