2014-03-05 62 views

回答

1

它们是不同的。

一个定位器只不过是一个抽象的定义方式如何找到一个元素

A WebElement只是DOM中对该元素的引用。它是Selenium向你表示DOM元素的方式,以便你可以操纵它。

+0

所以拍摄的实施例,如果我明白它正确'webelement = browser.find_element_by_id(“id_here”)'是webelement和定位器可以与从'进口selenium.webdriver.common.by由下式表示' – Jonathan

+0

@Jonathan以我最好的理解 - 你是对的 –

1

定位器用于识别元素。你可以使用它,或者如果你已经创建了一个元素对象,你可以使用它。
如果你直接传递元素(如果有的话)WebDriver不需要创建一个新的对象。如果你传递定位器WebDriver将使用它来创建Element对象。 PS:我不太熟悉Python。

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"))) 
相关问题