2016-10-28 18 views
1

私は少し楽しいスクレイピングプロジェクトに取り組んでいるPython新生児です。私はPythonの2によ http://www.airfleets.net/flottecie/American%20Airlines.htmPythonで掻き集めるSelenium:タグなしでhtmlテーブルを反復する

をし、航空機の詳細を示すページ上の表はありますセレン

を使用して:ここから情報を引き出ししようとしています。この表の2番目の列(「アクティブ」と表示されています)を繰り返していきたいと思います。通常、私はfind_element_by_idを使用してテーブルを選択します。ただし、この表にはidタグはありません。私はfind_element_by_xpathでテーブルを見つける必要があると思うが、私はテーブルを見つけるパス構文がわからないし、また、2番目の列の行。

要約すると、テーブルに識別タグがない場合、テーブルの行を繰り返し処理するにはどうすればよいですか?

+1

あなたは要素by_tagやby_classを得ることができます。要素のリストを提供し、通常のリストと同様に動作します。インデックス( 'lst [x]')、 'for'ループ(' for x in lst')あなたは「XPath」と呼ばれる「xpath」または「css selector」を表示することができます(拡張機能が必要な場合があります)。 – furas

答えて

4

CSSセレクタまたはXPathを使用できます。コメントに記載されているように、ブラウザの開発ツールにはおそらくこれを行うための組み込み方法があります。

そのテーブルのXPathは

/html/body/table[4]/tbody/tr[1]/td/table[2]/tbody/tr/td[2]/table 

であり、あなたが使用できるCSSセレクタはChromeの場合

body > table:nth-child(6) > tbody > tr:nth-child(1) > td > table:nth-child(3) > tbody > tr > td:nth-child(2) > table 

あり、例えば、次のような方法でこの情報を取得できます。

(1)開発ツールを開いて要素を探します。あなたの任意の要素を右クリックして[

enter image description here

2を「検査」をクリックすることでこれを行うことができます)DOMで要素を右クリックし、[コピー]を選択>(コピーセレクター/コピーXPathはenter image description here

+0

XPath! – rvictordelta

関連する問題