Python 是什么导致此错误“'navigablesting'对象没有属性'findAll'”?

Python 是什么导致此错误“'navigablesting'对象没有属性'findAll'”?,python,python-3.x,selenium,web-scraping,beautifulsoup,Python,Python 3.x,Selenium,Web Scraping,Beautifulsoup,我无法共享该页面,但这是我想要访问的示例html代码 96685 阿尔瓦拉多,杰奎琳C。 2017年11月6日 A1054 A1054-A1054 87004000 33522 贝利,杰奎琳B。 1992年1月16日 DL-46 DL-46-DL-46 81313001 这里的问题是项是一个NavigableString对象,它包含值\n。NavigableString只是页面上的一小部分文本,而您可能希望看到基于代码的td项目列表。要了解有关NavigableStrings的更多信息,请参见

我无法共享该页面,但这是我想要访问的示例html代码

96685 阿尔瓦拉多,杰奎琳C。 2017年11月6日 A1054 A1054-A1054 87004000 33522 贝利,杰奎琳B。 1992年1月16日 DL-46 DL-46-DL-46 81313001 这里的问题是项是一个NavigableString对象,它包含值\n。NavigableString只是页面上的一小部分文本,而您可能希望看到基于代码的td项目列表。要了解有关NavigableStrings的更多信息,请参见此处:

我认为这里的问题在于findAll末尾的数组符号[0]。正确地获取所有tr,然后使用数组表示法仅获取一个tr,然后在此点循环遍历单个tr对象的结果。结果是td标签和它们之间的换行符

简而言之,去掉[0]

我认为结束代码应该是

test_words = ['Jacqueline','abercrombie']
test_word = ['STEVEN']

for i in test_words:
    search = self.driver.find_element_by_xpath('//*[@id="page-wrapper"]/div[3]/div/div/div/div/div[3]/tabletoolstrans/div/input')
    search.clear()
    search.send_keys(i)
    search.send_keys(Keys.RETURN)
    time.sleep(3)
    soup = BeautifulSoup(self.driver.page_source,"html.parser")
    for item in soup.findAll("tr", {"class": "hand_cursor ng-scope"}):
        for td in item.findAll("td"):
            if td.text == i:
                print("Search :"+i+"")
                buttons.save_csv(self, "Pass")
            else:
                print("Fail")
    print("jaq")
time.sleep(3)
注意-还向此行添加了.text以获取标记的内容

if td.text == i:

post page address和所需的outputi添加了一个html片段,我想访问它。预期结果是什么?错误意味着您在叶文本节点而不是元素节点上调用了findAll。我在你的代码中没有看到它,但它可能在buttons.save_csv中。你能发布完整的堆栈跟踪以便我们看到哪一行失败了吗?我已经添加了预期的结果。但是我只想得到第一个trIn的第二个td。在这种情况下,你需要数组表示法,但需要删除循环。一个或另一个不是两个:你的findAll行应该变成。。。item=soup.findAlltr,{class:hand_cursor ng scope}[0]和td=item.findAlltd[1]是的,是的,我已经尝试过了,而且效果很好。。谢谢您: