2012-05-08 13 views
0

Seleniumを使用してクリックするためにBeautifulSoupを使用してセルのIDを返そうとしています。 IDは、ページがロードされるたびに変化するので、私はからクラスをオフに基づいて特定のセルを見つけようとしている: soup.find(クラス=:私は、多くのバリエーションを試してみたBeautifulSoupを使用してクラスからIDを見つける

<table cellspacing="0" role="presentation" id="x-auto-667" class=" x-btn x-component x-btn-text-icon" style="margin-right: 0px;">

'x-btn x-component x-btn-text-icon')['id']

成功しません。私はどんな助けにも感謝しています。

答えて

0

BeautifulSoup documentationによると、CSSクラスを検索するためのショートカットがあります:attrsパラメータの文字列を渡します。もちろん、文字列がnameと誤って解釈されるため、そうするときに名前を付ける必要があります。つまり、soup.find('', 'x-btn x-component x-btn-text-icon')を使用してテーブルを見つけることができます。

soup.find('', 'x-btn x-component x-btn-text-icon')['id'] 
を使用して、 idにアクセスしてください
0

あなたはこれを試すことができます。

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

classはキーワードなので、ちょうどclass = ...を書き込むことはできません。だから辞書があります。 idをキーとして属性コレクションを辞書にキャストする必要があります。

関連する問題