2017-04-13 57 views
0

我試圖在硒Python從警報消息中提取消息Selenium python:如何從警報中提取消息?

<div ng-hide="authorizationMessage"> 
<div class="ng-valid-maxlength ng-dirty ng-valid-parse ng-valid ng-valid-required" ng-form="cohortForm"> 
<div class="alert alert-success ng-binding" role="alert" ng-show="message"> 
<a class="close" href="" data-dismiss="alert" aria-label="close">×</a> 
    **Cohort definition is created successfully.** 
</div> 

我試圖做

var1 = driver.find_element_by_xpath("html/body/div[1]/div/div/div[3]/div/div[1]").get_attribute('text') 
print var1 

但它印None

我應該如何提取消息 - 「羣組定義已成功創建」。從上面的HTML頁面?

回答

1

get_attribute('text')這不是你真正需要使用從目標div元素

獲取文本,您可以簡單地使用text財產或得到textContent如下屬性:

print(driver.find_element_by_css_selector('div.alert.alert-success.ng-binding').text) 
print(driver.find_element_by_css_selector('div.alert.alert-success.ng-binding').get_attribute('textContent')) 
+0

由於A標籤也包含在目標DIV中,你會在該字符串的開始處得到一個X,但是對於這個短的刪除操作,你可以做的事情並不多,等等...... – JeffC

+0

ok ......'print(driver.find_element_by_css_selector('div.alert。警報-success.ng結合 ')。get_attribute(' 的textContent ')。代替(' \ XD7 ')'))''應該允許擺脫'「x」' – Andersson

+0

這不是一個投訴,它僅僅是一個給OP的FYI,因爲他可能會看到這個看似隨機的X顯示在返回的文本中。 – JeffC