0

我正在尝试使用 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']

没有成功。我会很感激任何帮助。

4

2 回答 2

0

你可以试试这个:

dict(soup.find('table', {'class' : ' x-btn x-component x-btn-text-icon'}).attrs)['id']

class是关键字,所以不能写class = .... 于是就有了字典。您还需要将属性集合转换为字典以id用作键。

于 2012-05-08T17:40:24.353 回答
0

根据BeautifulSoup 文档,有一个搜索 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']
于 2012-05-08T19:39:59.870 回答