2017-08-25 77 views
0

這是我的代碼:獲取HREF硒

dispatch_button = browser.find_elements_by_xpath("//*[contains(@id, 'alarm')]") 
href = dispatch_button.get_attribute('href') 
print(href) 

這是我的工作的HTML:

<a href="/missions/12357831" class="btn btn-default btn-xs lightbox-open" id="alarm_button_12357831"> Dispatch</a> 

的ID和HREF都含有一個改變的數字,這就是爲什麼我使用部分ID找到它。

,我不明白爲什麼我得到這個錯誤,我完全難住了:

href = dispatch_button.get_attribute('href') 
AttributeError: 'list' object has no attribute 'get_attribute' 

我試圖找到它的部分ID的dispatch_button,然後使用它的href。

回答

0

如果你想獲得單WebElement你應該使用的find_elements_by_xpath()find_element_by_xpath()代替:如果你要處理的指定選擇匹配多個元素

dispatch_button = browser.find_element_by_xpath("//*[contains(@id, 'alarm')]") 
href = dispatch_button.get_attribute('href') 

或:

dispatch_buttons = browser.find_elements_by_xpath("//*[contains(@id, 'alarm')]") 
hrefs = [dispatch_button.get_attribute('href') for dispatch_button in dispatch_buttons] 

你也可以試試找到所需的錨點link_text

dispatch_button = browser.find_element_by_link_text("Dispatch") 
+0

這很有道理,謝謝一堆。 – user3210248

+0

歡迎。如果解決了您的問題,您可以接受答案 – Andersson