2016-07-20 3 views
1

데이터 액세스 요소를 찾으려고합니다.C#을 사용하는 셀레늄 프레임 워크

이 뒤에 HTML 코드는 다음과 같습니다 내가 사용하고

<ul class="tabs left"> 
<li id="tabPersonalInformation" class="current first"> 
<li id="tabSystemAccess"> 
<li id="tabDataAccess"> 
<a href="#dataAccess">Data Access</a> 
</li> 

C# 코드는 다음과 같습니다

Thread.Sleep(1000); 
var wait = new WebDriverWait(Driver.Instance, TimeSpan.FromSeconds(20)); 
var DataAccess = wait.Until(ExpectedConditions.ElementIsVisible(By.LinkText("Data Access"))); 
DataAccess.Click(); 

이 필드 DATAACCESS를 찾을 수 없습니다. 내가 얻는 예외는 다음과 같습니다.

An exception of type 'System.InvalidOperationException' occurred in WebDriver.dll but was not handled in user code Additional information: unknown error: Element is not >clickable at point (543, 15). Other element would >receive the click: ...

누군가가 도와 줄 수 있습니까?

답변

1

이것은 대부분 다른 요소와 대상 요소 오버레이로 인해 크롬 브라우저에서 발생합니다. 다른 요소의 오버레이에 클릭 할 수없는 때문에,이 경우에는 아래와 같이 IJavaScriptExecutor를 사용하여 클릭을 시도해야하므로 셀레늄은 항상 요소의 중심에 click을 수행 : -

var wait = new WebDriverWait(Driver.Instance, TimeSpan.FromSeconds(20)); 
var DataAccess = wait.Until(ExpectedConditions.ElementIsVisible(By.LinkText("Data Access"))); 

IJavaScriptExecutor js = Driver.Instance as IJavaScriptExecutor; 
js.ExecuteScript("arguments[0].click()", DataAccess); 

는 희망이 도움이 ... :)

관련 문제