Python 当找不到元素时,如何用字符串或数值填充异常块中的列表?
我正在遍历一些web上的数据,并试图将结果放入两个列表中的一个。在这种情况下,下面使用的拆分会引发异常以跳过记录,因为条目中基本上没有“at”。如果我为10条记录运行代码,这是其中一条记录的情况,那么a_列表中有10条记录,b_列表中有9条记录。我想保持所有内容正确匹配,并在两个列表中保留10条记录,但在异常为真的列表中输入一个空白或一些字符串,如“null”或0。在这之后,我希望脚本继续做它的事情。有没有一个简单的方法来实现这一点Python 当找不到元素时,如何用字符串或数值填充异常块中的列表?,python,selenium,try-except,Python,Selenium,Try Except,我正在遍历一些web上的数据,并试图将结果放入两个列表中的一个。在这种情况下,下面使用的拆分会引发异常以跳过记录,因为条目中基本上没有“at”。如果我为10条记录运行代码,这是其中一条记录的情况,那么a_列表中有10条记录,b_列表中有9条记录。我想保持所有内容正确匹配,并在两个列表中保留10条记录,但在异常为真的列表中输入一个空白或一些字符串,如“null”或0。在这之后,我希望脚本继续做它的事情。有没有一个简单的方法来实现这一点 a_list = []; b_list = []; f
a_list = []; b_list = [];
for i in range(1,11):
try:
a = driver.find_element_by_xpath('abc').text.split(' at ')[0]
b = driver.find_element_by_xpath('abc').text.split(' at ')[1]
a_list.append(a)
b_list.append(b)
except:
continue
i +=1
您只需在
块内追加,但
块除外
a_list = []; b_list = [];
for i in range(1,11):
try:
a = driver.find_element_by_xpath('abc').text.split(' at ')[0]
b = driver.find_element_by_xpath('abc').text.split(' at ')[1]
a_list.append(a)
b_list.append(b)
except:
a_list.append(None)
b_list.append(None)
此外,不需要增加循环变量
for
循环为您执行此操作您只需在块中追加,除了块
a_list = []; b_list = [];
for i in range(1,11):
try:
a = driver.find_element_by_xpath('abc').text.split(' at ')[0]
b = driver.find_element_by_xpath('abc').text.split(' at ')[1]
a_list.append(a)
b_list.append(b)
except:
a_list.append(None)
b_list.append(None)
此外,不需要增加循环变量<代码>for
循环为您实现这一点尝试以下方法:
for i in range(1, 11):
try:
element_splitted = driver.find_element_by_xpath('abc').text.split(' at ')
except: # No element found
a_list.append(None)
b_list.append(None)
continue
if len(element_splitted) > 1: # it has ' at '
a_list.append(element_splitted[0])
b_list.append(element_splitted[1])
else:
a_list.append(None)
b_list.append(None)
我以前没有用过硒,但我想这就是它的工作原理。首先我检查了它,发现了元素。然后我检查了它是否在“
处有”
补充说明:
无需增加i
不要使用驱动程序。通过xpath('abc').text.split('at')两次查找\u元素
不要使用像我这样的广泛异常处理程序-->检查文档中是否存在可能引发的特定异常。尝试以下方法:
for i in range(1, 11):
try:
element_splitted = driver.find_element_by_xpath('abc').text.split(' at ')
except: # No element found
a_list.append(None)
b_list.append(None)
continue
if len(element_splitted) > 1: # it has ' at '
a_list.append(element_splitted[0])
b_list.append(element_splitted[1])
else:
a_list.append(None)
b_list.append(None)
我以前没有用过硒,但我想这就是它的工作原理。首先我检查了它,发现了元素。然后我检查了它是否在“
处有”
补充说明:
无需增加i
不要使用驱动程序。通过xpath('abc').text.split('at')两次查找\u元素
不要使用像我这样的广泛异常处理程序-->检查文档中是否有可能引发的特定异常。这就成功了。我不知道为什么我不想试试。非常感谢。这就成功了。我不知道为什么我不想试试。非常感谢。