[英]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.