在selenium中expected_conditions的文档中,这些方法要么采用webelement,要么采用定位器。它们显然非常相似,但它们有什么区别?
答案 0 :(得分:1)
Locator用于标识元素。您可以使用它,或者如果您已经创建了元素对象,则可以使用它 如果直接传递元素(如果有的话),WebDriver将不需要创建新对象。如果你传递定位器,WebDriver将使用它来创建Element对象 PS:我对Python不太熟悉。
答案 1 :(得分:1)
他们是不同的。
定位器只不过是一种定义如何元素的抽象方式。
WebElement
只是DOM中该元素的引用。它是Selenium
向您表示DOM元素的方式,以便您可以对其进行操作。
答案 2 :(得分:0)
正如其他两位回答者所说。定位器用于标识实际元素。而webelement是找到的对象。这在代码中是什么样的?
以下为您提供了一个webelement对象。
webelement = browser.find_element_by_id('id_here')
如果您需要使用文档中所述的定位器,则需要执行以下操作。取自Explicit waiting
的示例from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebdriverWait
from selenium.webdriver.support import expected_conditions as EC
element = WebDriverWait(ff, 10).until(EC.presence_of_element_located((By.ID, "myDynamicElement")))