int wdFindElementByTagName(WebDriver* driver, WebElement* element, const wchar_t* name, WebElement** result) { if (!driver || !driver->ie) { return ENOSUCHDRIVER; } CComPtr<IHTMLDOMNode> res; InternetExplorerDriver* ie = driver->ie; CComPtr<IHTMLElement> elem; if (element && element->element) { elem = element->element->getWrappedElement(); } try { ElementWrapper* wrapper; int res = ie->selectElementByTagName(elem, name, &wrapper); if (res != SUCCESS) { return res; } WebElement* toReturn = new WebElement(); toReturn->element = wrapper; *result = toReturn; return SUCCESS; } END_TRY; }
int wdFindElementByTagName(WebDriver* driver, WebElement* element, const wchar_t* name, WebElement** result) { *result = NULL; if (!driver || !driver->ie) { return ENOSUCHDRIVER; } InternetExplorerDriver* ie = driver->ie; CComPtr<IHTMLElement> elem; if (element && element->element) { elem = element->element->getWrappedElement(); } try { clock_t end = endAt(driver); int res = ENOSUCHELEMENT; do { ElementWrapper* wrapper; int res = ie->selectElementByTagName(elem, name, &wrapper); if (res != SUCCESS) { continue; } WebElement* toReturn = new WebElement(); toReturn->element = wrapper; *result = toReturn; return SUCCESS; } while (clock() < end); return res; } END_TRY; }