“find_element_by_xpath”和“driver.find_elements(By.XPATH)”有什么区别

Sub*_*har 3 python selenium selenium-webdriver

我一直在交替使用这两种方法的硒。

elem = driver.find_element_by_xpath("some_xpath")
elem = driver.find_element(By.XPATH,"some_xpath")
Run Code Online (Sandbox Code Playgroud)

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

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

Guy*_*Guy 6

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

来自github

def find_element_by_xpath(self, xpath):
    return self.find_element(by=By.XPATH, value=xpath)
Run Code Online (Sandbox Code Playgroud)

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

查找给定 By 策略和定位器的元素。尽可能使用 find_element_by_* 方法。