2016-03-02 48 views

回答

0

如果您使用的webdriver的方法FindElement()找到硒WebElement,那么你会得到类型WebElement的对象。如果你想对这个元素做些什么,那么你通常需要再次使用WebDriver实例。所以,如果你有你想要做的元素一些子功能,这时往往就需要在元素传递以及司机:

private void _DoSomethingWithElement(IWebElement element, IWebDriver driver) 
{ 
    driver.WaitForElementToBeVisible(element); 
    element.Click(); 
} 

但是,这是没有必要的,因为元素“知道”司机。这就是你使用getWrappedDriver()的地方:从元素实例中获取驱动实例。例如:

private void _DoSomethingWithElement(IWebElement element) 
{ 
    IWebDriver driver = element.getWrappedDriver(); 
    driver.WaitForElementToBeVisible(element); 
    element.Click(); 
} 

不,这确实与硒页面工厂生成的元素不工作。非常不幸!