find_element_by_class_name 是查找子元素吧?
时间: 2023-09-20 07:04:51 浏览: 81
对不起,我之前的回答有误。`find_element_by_class_name` 方法是用来查找具有指定类名的子元素,而不是祖先元素。
要查找祖先元素,你可以使用 `find_element` 方法结合 XPath 表达式来定位。
以下是一个示例代码:
```python
# 导入 WebDriver
from selenium import webdriver
# 创建 WebDriver 实例
driver = webdriver.Chrome()
# 打开网页
driver.get("https://example.com")
# 定位到当前元素
element = driver.find_element_by_xpath("//div[@class='current-element']")
# 获取祖先元素
ancestor_element = element.find_element_by_xpath("..") # 获取父级元素
grand_ancestor_element = ancestor_element.find_element_by_xpath("..") # 获取更高层的祖先元素
# 输出祖先元素的标签名
print(ancestor_element.tag_name)
print(grand_ancestor_element.tag_name)
# 关闭浏览器
driver.quit()
```
在上述示例中,我们首先使用 XPath 定位到当前元素,然后通过连续调用 `find_element_by_xpath("..")` 来获取父级和更高层的祖先元素。你可以根据实际情况修改 XPath 表达式以适应你的需求。
阅读全文