我有一个脚本,可以从页面中查找某些资源。但是,有时根本没有任何源,并且循环停止工作。我不知道如何解决这个问题,因为我已经指定了脚本应该在哪里寻找元素。
servers = browser.find_element_by_xpath('//*[@id="links-
container"]/div[2]').find_elements_by_tag_name('tr')
如果没有源,则页面没有html对象,例如这些元素存在时。可以添加此作为例外。
no_elements = browser.find_element_by_xpath('/html/body/div[2]/div[2]/div[1]/div[3]/div[1]')
但是我真的不知道在哪里添加它。下面是我的代码片段。
srcs = []
servers = browser.find_element_by_xpath('//*[@id="links-
container"]/div[2]').find_elements_by_tag_name('tr')
for server in servers:
try:
txt = server.get_attribute('textContent').lower()
link_type = txt.split()[2]
if txt.find('test') >= 0:
button = server.find_element_by_tag_name('a')
browser.execute_script('arguments[0].click();', button)
tm=0
while(True):
try:
browser.switch_to.window(browser.window_handles[1])
srcs.append(browser.find_element_by_xpath('/html/body/section/div/iframe').get_attribute('src') + "@" + link_type)
browser.close()
browser.switch_to.window(browser.window_handles[0])
break
except:
if tm==5:break
tm+=1
except Exception as e:
print (str)(e)
continue
因此,基本上,脚本正在寻找特定的链接并单击它,在新选项卡中打开,获取src并返回下一个。
感谢您的帮助。