Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中使用selenium进行Webscraping-如果xtag值为空,则返回NaN_Python_Python 3.x_Selenium_Web Scraping - Fatal编程技术网

在Python中使用selenium进行Webscraping-如果xtag值为空,则返回NaN

在Python中使用selenium进行Webscraping-如果xtag值为空,则返回NaN,python,python-3.x,selenium,web-scraping,Python,Python 3.x,Selenium,Web Scraping,我有一个脚本,它循环通过几个布局相同的URL。我需要捕获某个字段的数据,该字段的所有URL都具有相同的xpath。此信息存储在列表中,以下是我的代码: field_list = [ ] fields =driver.find_elements_by_xpath('xpath') for f in fields: field_list.append(f.text) 但是,在某些页面上,该字段为空 如果I打印len(字段列表)输出为13 但如果我这样做了 for f in field_l

我有一个脚本,它循环通过几个布局相同的URL。我需要捕获某个字段的数据,该字段的所有URL都具有相同的xpath。此信息存储在列表中,以下是我的代码:

field_list = [ ]
fields =driver.find_elements_by_xpath('xpath')
for f in fields:
     field_list.append(f.text)
但是,在某些页面上,该字段为空

如果I
打印len(字段列表)
输出为13 但如果我这样做了

for f in field_list:
    print(f)
输出为11行


基本上,未填写的字段会附加到末尾的列表中。有没有办法将它们转换为none类型或NaN?

在将元素添加到列表之前,我会检查元素中是否存在文本,例如:

field_list = []
fields = driver.find_elements_by_xpath('xpath')
for f in fields:
    fText = f.text
    if not fText.strip(): field_list.append(None)
    else: field_list.append(fText)
如果希望在存储值后评估列表,可以执行以下操作:

field_list = []
fields = driver.find_elements_by_xpath('xpath')
for f in fields:
    field_list.append(f.text)

new_list = [x if x.strip() else None for x in field_list]

for f in new_list:
    print(f)

最后打印的输出仍应为13个对象,但如果有2个空字符串,则空对象使其看起来像11个对象。如果您想知道是否有空的文本对象被刮去,那么将空字符串转换为
None
类型应该更适合以后打印和查看数据。

欢迎使用。为什么只有文本不是“无”时才能添加到列表中。