簡體   English   中英

使用硒提取元素的值

[英]Extracting value of an element using Selenium

我正在使用Python 3,並且在提取HTML代碼中的元素值方面需要幫助。 網頁代碼的相關部分如下所示:

<span class="ng-isolate-scope" star-rating="4.61" size="22">

我目前正在使用Selenium和get_attribute函數,但無法提取4.61值。 由於必須循環瀏覽多個網頁,因此代碼的相關部分如下所示:

stars=[]
i=driver.find_elements_by_xpath("//*[@star-rating]")
for y in i:
    temp=str(y.get_attribute("value"))
    stars.append(temp)

但它沒有按我期望的那樣工作。 關於我在這里做錯的事情,您能幫我嗎? 非常感謝您的寶貴時間!

獲取star-rating屬性而不是value

temp = y.get_attribute("star-rating"))

請注意,您不必在get_attribute()的結果上調用str() get_attribute() -您將獲得屬性值作為字符串。

您還可以使用列表推導來改進代碼並在一行中收集評級:

stars = [elm.get_attribute("star-rating") 
         for elm in driver.find_elements_by_xpath("//*[@star-rating]")]

而且,如果您需要使用浮點數進行評級,請調用float()

stars = [float(elm.get_attribute("star-rating")) 
         for elm in driver.find_elements_by_xpath("//*[@star-rating]")]

而且,使用CSS選擇器會更加簡潔:

stars = [float(elm.get_attribute("star-rating")) 
         for elm in driver.find_elements_by_css_selector("[star-rating]")]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM