2017-07-18 16 views
-1

私はSelenium PhantomJSを使用してヘッドレスダイナミックスクレイピングを実行しています。私はonclickのアクティビティを実行し、そこから情報を抽出することができるように、NG-クリックラベルが含まれているタグを取得したいSelenium Pythonでラベルを検索

<button href="#" ng-click="navigation.login({edu:false})">login</button> 
<a class="btn btn-primary" ng-click="login()">signup</a> 

:私のような、ng-clickによってトリガポップアップを除くすべての情報を抽出することができました。

ng-click値とタグは何でもかまいません。タグにng-clickが含まれているかどうかを検索し、そのタグが返された場合のみ検索します。 私はregexなどを使用したくありません。

+0

なぜ正規表現を使用しないのですか? –

+0

良いオプションではありません... –

+0

XPATHはこれらの問題を簡単に解決する方法です... –

答えて

0

elements = driver.find_elements_by_xpath("//*[(@ng-click)]")

1

最も簡単な解決策は、XPathを使用してng-clickの長さをチェックすることです。

elements = driver.find_elements_by_xpath("//*[string-length(@ng-click) > 1]") 
for element in elements: 
    element.click() 
関連する問題