Selenium(Python):为什么find_element()被视为“私有”?

时间:2019-12-05 16:27:58

标签: python selenium

根据selenium docs

  

...有两种私有方法可能对页面对象中的定位器有用。这是两个私有方法:find_element和find_elements。

因此,find_element()find_elements()被视为“私有”。对我而言,这意味着“不应使用这些方法”。 find_element()文档字符串进一步推动了这一想法:

  

查找具有“按”策略和定位器的元素。优先使用find_element_by_ *方法           可能。

因此建议避免使用find_element()

但是,根据我的经验,find_element()更好,因为它不仅更短,而且将定位符声明为(按“方法”的“定位符”)元组,然后在find_element()中找到它们如果locator方法更改,我的页面对象需要较少的维护。我将其更改在定位器上的某个位置,而不是元素所在的每个实例。

此外,当使用为我定位元素的预期条件(例如element_located_to_be_selectedpresence_of_element_located)时,他们希望使用(By.method,“ locator”)元组,如果我已经有那个元组。选择器更改时的维护再一次变得容易,因为我不必在我的代码中搜索我已对By方法进行硬编码的位置。

find_element_by_*策略仅在幕后调用find_element(),因此在功能上没有区别。

为什么find_element()被视为“私有”,不鼓励使用它?

0 个答案:

没有答案