0

Seleniumを使用してクリックするセルのIDを返すために、BeautifulSoupを使用しようとしています。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 に答える