首页 > 解决方案 > “find_element_by_xpath”和“driver.find_elements(By.XPATH)”有什么区别

问题描述

我一直在使用 selenium 一段时间,这两种方法可以互换使用。

elem = driver.find_element_by_xpath("some_xpath")
elem = driver.find_element(By.XPATH,"some_xpath")

到目前为止,他们都工作。我想了解他们两者有什么区别。

https://selenium-python.readthedocs.io/locating-elements.html文档中提到 By.XPATH 作为私有方法,但没有理解清楚。

标签: pythonseleniumselenium-webdriver

解决方案


find_element_by_xpath('xpath')调用find_element(By.XPATH,'xpath'),所以实际上没有真正的区别。

来自github

def find_element_by_xpath(self, xpath):
    return self.find_element(by=By.XPATH, value=xpath)

如果您查看find_element()评论,尽管您会看到它建议使用find_element_by_xpath

查找给定 By 策略和定位器的元素。可能时首选 find_element_by_* 方法。


推荐阅读