我试图通过添加以前可编辑列表中的项目来创建字典,但我不知道问题出在哪里:
for i in range(3):
try:
#primero: encontrar el boton:
boton=WebDriverWait(driver,6).until(
EC.presence_of_element_located(By.XPATH,'//div[@class="entrys-con-banner last clearfix"]//a[@class="btn"]')
)
boton.click()
#segundo:esperar a que cargue la informacion:
WebDriverWait(driver,7).until(
EC.presence_of_all_elements_located((By.XPATH,'//article[@itemtype="http://schema.org/Article"]'))
)
sleep(random.uniform(4.0,6.0))
except:
break
print("Error")
ElEconomista=[]
articulos=driver.find_elements_by_xpath('//article[@itemtype="http://schema.org/Article"]')
for articulo in articulos:
autor=articulo.find_element_by_xpath('.//p/a').text
titulo=articulo.find_element_by_xpath('.//div[@class="entry-data"]/h3/a').text
try:
nota=articulo.find_element_by_xpath('.//div[@class="entry-data"]/p').text
except:
nota="NA"
#se crea un diccionario para cada item
articulo_dict=dict()
articulo_dict["autor"]=articulo["autor"]
articulo_dict["titulo"]=articulo["titulo"]
articulo_dict["nota"]=articulo["nota"]
ElEconomista.append(articulo_dict)
以前的代码是根据这里给出的建议修改的,(下面的错误与上面的代码不同的原因),但它仍然给我相同的错误,所以我决定把所有的代码都放进去
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-1-01b021486e73> in <module>
57
58 ElEconomista.append({
---> 59 "autor":articulo["autor"],
60 "titulo":articulo["titulo"],
61 "nota":articulo["nota"]
TypeError: 'WebElement' object is not subscriptable
您需要创建一个字典列表。因此,首先为每篇文章创建一个特定的词典,并用适当的信息填充它,然后将该词典附加到列表
ElEconomista
相关问题 更多 >
编程相关推荐