Selenium显示存在模态对话框但实际上不在屏幕上
我有一份完整的澳大利亚邮政编码列表,我需要用一个特定网站的搜索功能来获取对应的偏远地区代码。为此,我写了一个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()
1 个回答
0
我好像在我的脚本运行的时候,看到一个弹出对话框,它会自己出现然后又消失。不过,这个问题用一个循环和一个错误处理的方式就不重要了... :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()