2016-12-07 92 views
0

我遇到了一个BS4错误,没有给出解释,至少我没有理解,有人可以帮我知道它是什么意思? 这里是代码:美丽的汤简单python错误与元素内查找元素?

soup = BeautifulSoup(browser.page_source, "html.parser") 
    soup.prettify() 
    container = soup.find('table', {'id': 'RmvMainTable'}) 
    containerlv2 = container.find('tr') 
    # related_files = containerlv2[6].find('div') 
    # print(related_files) 
    for re_file in containerlv2[6].find('div'): 
     print("lol") 

,这里是错误:

Traceback (most recent call last): 
File "/home/user/Python projects/test/test3.py", line 162, in <module> 
    for re_file in containerlv2[6].find('div'): 
File "/usr/lib/python3/dist-packages/bs4/element.py", line 958, in __getitem__ 
    return self.attrs[key] 
KeyError: 6 

如果您发现该#出来的代码它会给出确切的同样的错误

回答

1

containerlv2是一个标签对象,它不具有6为重点,因此你有KeyError: 6

如果你想在7 tr标签来搜索div标签,正确的方法应该是:

containerlv2 = container.find_all('tr') 
related_files = containerlv2[6].find('div') 

首先使用find_all得到所有tr标签container,并把它们放入一个列表containerlv2,然后你在containerlv2

第七届标签搜索
0
containerlv2 = container.find('tr') 

这将返回标签对象,并且您可以像这样索引标签对象

containerlv2[6]