2017-07-18 105 views
-1

我使用Selenium PhantomJS執行無頭動態抓取。我能夠提取除由ng-click觸發彈出式廣告,比如所有信息:在硒蟒蛇中查找標籤

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

我想獲得一個包含NG-點擊標籤的標籤,這樣我就可以執行的onclick活動,並從中提取信息。

ng-click值和標籤可以是任何東西,我只是想搜索一個標籤是否包含ng-click或不是,如果它然後返回該標籤。 我不想使用正則表達式或類似的東西。

+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()