我試圖從多個 div 中洗掉第一個孩子(跨度)的類名。
這是html代碼:
<div class="ui_column is-9">
<span class="name1></span>
<span hljs-attr">...">...</span>
...
<div class ="ui_column is-9">
<span class="name2></span>
<span hljs-attr">...">...</span>
...
<div class ..
完整代碼的頁面URL。
我正在使用前五個 div 的代碼完成此任務:
i=0
liste=[]
while i <= 4:
parent= driver.find_elements_by_xpath("//div[@class='ui_column is-9']")[i]
child= parent.find_element_by_xpath("./child::*")
class_name= child.get_attribute('class')
i = i 1
liste.append(nom_classe)
但是你知道是否有更簡單的方法來做到這一點?
uj5u.com熱心網友回復:
您可以直接獲取所有這些第一個span元素,然后提取它們的class屬性值,如下所示:
liste = []
first_spans = driver.find_elements_by_xpath("//div[@class='ui_column is-9']//span[1]")
for element in first_spans:
class_name= element.get_attribute('class')
liste.append(class_name)
您還可以class僅通過將回圈限制為 5 次迭代來從 5 個第一個元素中提取屬性值
UPD
好吧,更新您的問題后,答案變得不同且簡單得多。
您可以直接獲取所需的元素并提取它們的類名屬性值,如下所示:
liste = []
first_spans = driver.find_elements_by_xpath("//div[@class='ui_column is-9']//span[contains(@class,'ui_bubble_rating')]")
for element in first_spans:
class_name= element.get_attribute('class')
liste.append(class_name)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/394376.html
