我正在尝试使用BeautifulSoup返回要使用Selenium单击的单元格的ID。每次加载页面时ID都会更改,所以我试图从以下类中找到特定的单元格:
<table cellspacing="0" role="presentation" id="x-auto-667" class=" x-btn x-component x-btn-text-icon" style="margin-right: 0px;">
我尝试了很多变化: soup.find(class ='x-btn x-component x-btn-text-icon')['id']
没有成功。我很感激任何帮助。
答案 0 :(得分:0)
你可以试试这个:
dict(soup.find('table', {'class' : ' x-btn x-component x-btn-text-icon'}).attrs)['id']
class
是关键字,因此无法撰写class = ...
。所以有字典。您还需要将属性集合强制转换为字典,以使用id
作为键。
答案 1 :(得分:0)
根据BeautifulSoup documentation,有一个搜索CSS类的快捷方式:为attrs
参数传递一个字符串。当然,当你这样做时,你必须给它一个名字,否则字符串会被误解为name
。简而言之,您可以使用soup.find('', 'x-btn x-component x-btn-text-icon')
找到您的表格,并使用以下内容获取id
:
soup.find('', 'x-btn x-component x-btn-text-icon')['id']