我已经将硒与这两种方法交替使用了一段时间。
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称为私有方法,但不清楚。
答案 0 :(得分:4)
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
查找具有“按”策略和定位器的元素。更喜欢 尽可能使用find_element_by_ *方法。