我有很多具有相同类名但具有不同ID的列表元素。
例:
<li class="test class" id="111-11-111"> pass </li>
<li class="test class" id="222-22-222"> pass </li>
<li class="test class" id="333-33-333"> pass </li>
我需要提取这些ID。
对于单个列表元素,这不是问题:
driver.find_element_by_css_selector(".test.class").get_attribute("id")
但是我需要以某种方式到达下一个ID。
如果尝试
find_elements_by...
我收到以下异常:“列表”对象没有属性
'get_attribute'
。有没有办法提取它们?
最佳答案
您可以使用xpath:
listOfLi = driver.find_elements_by_xpath("//li[class='test class']")
或CSS选择器:
listOfLi = driver.find_elements_by_css_selector(".test.class")
您可以通过逐个索引每个li元素来访问它们:
for eachLiElement in listOfLi:
string = eachLiElement.get_attribute("id")
string
将为您提供每个元素的ID。如果您只想获取第二个ID,可以通过
secondId = listOfLi[1].get_attribute("id")
secondId
将具有222-22-222