【问题标题】:AttributeError: 'list' object has no attribute 'text' in Selenium PythonAttributeError:“列表”对象在 Selenium Python 中没有属性“文本”
【发布时间】:2018-07-08 10:03:00
【问题描述】:

这里是代码......

from selenium import webdriver

url = 'https://infobypokharelk.blogspot.com/'
driver = webdriver.Firefox()
driver.get(url)

row_count = len(driver.find_elements_by_xpath("//*[@id='post-body-6767393087210111064']/div[1]/table/tbody/tr"))
col_count = len(driver.find_elements_by_xpath("//*[@id='post-body-6767393087210111064']/div[1]/table/tbody/tr[1]/td"))

print("Number if Rows:",row_count)
print("Number of Columns",col_count)

first_part = "//*[@id='post-body-6767393087210111064']/div[1]/table/tbody/tr["
secound_part = "]/td["
third_part = "]"

for n in range(1,row_count+1):
    for m in range(1,col_count+1):
        final_path = first_part + str(n) + secound_part + str(m) + third_part
        table_data = driver.find_elements_by_xpath(final_path).text
        print(table_data,end = " ")
    print()

输出是..

 File "tut_td.py", line 15, in <module>
    table_data = driver.find_elements_by_xpath(final_path).text
 AttributeError: 'list' object has no attribute 'text'

【问题讨论】:

    标签: python-3.x list selenium selenium-webdriver webdriver


    【解决方案1】:

    find_elements_by_xpath 返回一个元素列表,而不仅仅是一个,因此您需要循环遍历它们,或者如果您认为第一个是唯一的,则只需获取第一个:

    table_data = driver.find_elements_by_xpath(final_path)[0].text
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-01
      • 2016-07-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多