根据该文件,您可以使用
find_element_by_*快捷键,或
find_element()与
find_elements()“私有”的直接方法:
除了上面给出的公共方法外,还有两个私有方法可能对页面对象中的定位器很有用。这是两个私有方法:find_element和find_elements。
用法示例:
from selenium.webdriver.common.by import Bydriver.find_element(By.XPATH, '//button[text()="Some text"]')driver.find_elements(By.XPATH, '//button')
但是,在您的情况下,您没有传递2个参数,而是
find_element()传递了一个-a
tuple
NEWS_OPTION。您只需要将元组解压缩为位置参数:
NEWS_OPTION = (By.ID, 'blq-nav-news')myDynamicElement = driver.find_element(*NEWS_OPTION)
或者,作为替代方案,您也可以使用关键字参数:
NEWS_OPTION = {'by': By.ID, 'value': 'blq-nav-news'}myDynamicElement = driver.find_element(**NEWS_OPTION)而且,每当您对事物的工作方式有任何疑问时,只需挖掘源代码并自己进行澄清即可。在这种情况下,请查看
find_element_by_id()方法的实际实现方式:
def find_element_by_id(self, id_): """Finds an element by id. :Args: - id_ - The id of the element to be found. :Usage: driver.find_element_by_id('foo') """ return self.find_element(by=By.ID, value=id_)


