【问题标题】:Selenium 'Modal dialog present' but is not actually on screenSelenium '模态对话框存在'但实际上不在屏幕上
【发布时间】:2013-01-28 02:09:11
【问题描述】:

我有一个完整的澳大利亚邮政编码列表,我需要使用特定站点的搜索功能来获取相应的远程编码。我创建了一个 Python 脚本来执行此操作,并且它可以高效地执行此操作。

除了在迭代期间看似随机的时间,它会引发“模态对话框存在”异常。问题是,我看不到任何对话框!网页看起来和往常一样,我可以用鼠标正常与它交互。可能是什么问题,有解决办法吗?

browser = webdriver.Firefox() # Get local session of firefox
browser.set_page_load_timeout(30)
browser.get("http://www.doctorconnect.gov.au/internet/otd/Publishing.nsf/Content/locator") # Load page
assert "Locator" in browser.title
search = browser.find_element_by_name("Search") # Find the query box
ret = browser.find_element_by_id("searchButton")

doha_addr = []
doha_ra = []

for i in search_string_list:
    search.send_keys(i)
    ret.send_keys(Keys.RETURN)
    addr = browser.find_element_by_xpath("//table/tbody/tr[2]/td[2]")
    doha_addr.append(addr.text)
    ra = browser.find_element_by_xpath("//table/tbody/tr[4]/td[2]")
    doha_ra.append(ra.text)
    try:
        browser.find_element_by_xpath("//html/body/div/div[3]/div/div/div/div/div/div[7]/div/div[13]/div[1]").click()
    except:
        pass
    search.clear()

【问题讨论】:

    标签: python selenium


    【解决方案1】:

    我似乎瞥见了一个弹出对话框,该对话框在我的脚本运行时显示并隐藏起来。无论如何,这与 while 开关和 try/except 子句无关......:7D

    doha_ra = {}
    
    for i in search_string_list:
        switch = True
        while switch == True:
            search.send_keys(i)
            ret.send_keys(Keys.RETURN)
            try:
                addr = browser.find_element_by_xpath("//table/tbody/tr[2]/td[2]")
                ra = browser.find_element_by_xpath("//table/tbody/tr[4]/td[2]")
                doha_ra[addr.text] = ra.text
                switch = False
            except:
                pass
            search.clear()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-08
      相关资源
      最近更新 更多