【发布时间】:2022-01-04 21:56:45
【问题描述】:
我在带有 selenium 的 python 中使用 get_attribute() 函数从特定 html 元素的子元素中获取特定属性,但是,一些子元素没有该属性,有没有办法检查 html元素有特定的属性吗?
【问题讨论】:
我在带有 selenium 的 python 中使用 get_attribute() 函数从特定 html 元素的子元素中获取特定属性,但是,一些子元素没有该属性,有没有办法检查 html元素有特定的属性吗?
【问题讨论】:
您应该遍历该特定 html 元素的直接子元素,并分别检查每个元素的所需属性。
获取所有直接子级的一种方法是使用 CSS 选择器:
find_elements_by_css_selector("your_element > *")
上面给出了孩子的列表,然后遍历它并使用get_attribute()检查每个元素是否具有您想要的属性。
如果您已经拥有该元素,也可以使用 XPATH:
e.find_elements_by_XPATH('./*')
注意: find_elements_by_* 命令现已弃用。例如最好使用find_elements(By.XPATH)。
【讨论】:
for element in lst: lst 这里是您在答案中看到的上述逗号的返回列表。然后调用element.get_attribute('...) 并检查返回值。如果它没有该属性,则返回 None。