要将具有class属性的元素数量计为full ng-scope
,可以使用以下解决方案:
css_selector
:
print(len(driver.find_elements_by_css_selector("div.star-point>span.total span.full.ng-scope")))
xpath
:
print(len(driver.find_elements_by_xpath("//div[@class='star-point']/span[@class='total']//span[@class='full ng-scope']")))
要计算具有特定类的元素数量,您可以:
count = len(driver.find_elements_by_class_name('your_class_name'))
driver.find_elements
返回与特定定位符匹配的元素列表,因此该列表的len()
将是此类元素的数量。
在您的情况下,由于您的类名包含空格,因此最好使用xpath:
count = len(driver.find_elements_by_xpath("//span[@class='full ng-scope']"))
在此代码中,如何计算完整的ng-scope类?除了空的范围
上面的定位器将与您传递的字符串定位器完全匹配,因此它只搜索full ng-scope
而不是empty ng-scope
。
一个简单的CSS选择器
span.full.ng-scope
会在这里工作。它将匹配所有具有SPAN
和full
类的ng-scope
s,这些类将排除包含类empty
的任何元素。
你想避免使用类似XPath
//span[@class='full ng-scope']
因为它在类上与'full ng-scope'
进行了精确的字符串匹配,所以如果添加一个新的CSS类,该定位器将失败。如果交换了两个类名,它将失败。在所有情况下,CSS选择器仍然可以工作。它将减少您以后必须维护/更新定位器的可能性。