存储图像的标题文本Selenium Webdriver Python

时间:2014-03-21 16:35:55

标签: python selenium-webdriver webdriver title

我正在使用python进行抓取,我需要保存图像标题(当您将鼠标悬停在图像上时弹出的文本)。这是我到目前为止的尝试:

from selenium import webdriver
driver= webdriver

imageTitle= driver.find_elements_by_xpath("//td[2]/div/img").title.encode('utf8')

当我尝试运行代码时,我得到AttributeError: 'list' object has no attribute 'title'。我也试过了:

imageTitle= driver.find_elements_by_xpath("//td[2]/div/img").text.encode('utf8')

这只是更改为AttributeError: 'list' object has no attribute 'text'

我确信这是一个相对简单的修复方法,但我完全不知道如何做到这一点,谢谢

1 个答案:

答案 0 :(得分:2)

由于您使用的是find_elements_by_xpath,而不是find_element_by_xpath,请注意您的复数为elements,而另一个为element

driver.find_elements_by_xpath将返回元素列表,text是单个元素的属性。您需要使用find_element_by_xpath或索引find_elements_by_xpath

AttributeError: 'list' object has no attribute 'text'清楚告诉过你。

此外,你所说的标题是元素的属性,所以需要这个

imageTitle= driver.find_element_by_xpath("//td[2]/div/img").get_attribute("title")

Here是API文档,请在编码时仔细阅读。