Selenium“模态对话存在”,但实际上不在屏幕上

2024-03-29 12:10:14 发布

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

我有一个完整的澳大利亚邮政编码列表,我需要使用特定网站的搜索功能来获得相应的远程代码。我创建了一个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()

Tags: indivbrowsersendsearchbypageelement
1条回答
网友
1楼 · 发布于 2024-03-29 12:10:14

我好像瞥见了一个弹出对话框,它在我的脚本运行时出现并隐藏起来。无论如何,这与while开关和try/except子句无关。。。:7天

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()

相关问题 更多 >