- Регистрация
 - 23.11.2013
 
- Сообщения
 - 149
 
- Благодарностей
 - 73
 
- Баллы
 - 28
 
Нужно передать в функцию объект HtmlElement. Но если не нужно, чтобы данный элемент использовался как родительский при поиске, нужно передать null. Пишу так:
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
...но если вызываю функцию как задумано - return fnXYZ(instance.ActiveTab, null, "//xpath"), то возвращается ошибка

...можно конечно приделать костыль вида:
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
...и оставить в процедуре только строку elElement = elParent.FindChildByXPath(strXPath, 0); - но хотелось бы найти более красивое решение
								
			
				Код:
			
		
		
		Func<Tab, HtmlElement, string, string> fnXYZ;
fnXYZ  = (TargetTab, elParent, strXPath)=>{
    HtmlElement elElement = null;
    if (elParent.IsNull) {
        elElement = TargetTab.FindElementByXPath(strXPath, 0);
    }else{
        elElement = elParent.FindChildByXPath(strXPath, 0);
    }
    return elElemetn.GetAttribute("InnerHtml");
};
	
...можно конечно приделать костыль вида:
			
				Код:
			
		
		
		HtmlElement elDummyParent = Tab1.FindElementByTag("body",0);
return fnXYZ(instance.ActiveTab, elDummyParent , "//xpath")
	



 так работает: