2017-01-13 4 views
0

Я автоматизировал функции входа в систему, используя селен webdriver с java и выполнил его с помощью драйвера chrome.Selenium Webdriver в Internet explorer

Он отлично работает. Затем я попытался выполнить его с internet explorer.

Но я получаю «Невозможно найти элемент».

Как я могу решить эту проблему?

Код:

/* Войти без ввода имени пользователя */

@Test (приоритет = 0)

public void loginWithoutUsername() throws InterruptedException { 

     int emptyUsernameRowNumber = 1; 
     WebElement login = driver.findElement(By.xpath("//*[@id='main-section']/div/div/section[2]/div[1]/ul/li[1]"); 
     login.click(); 
     Thread.sleep(1000); 
     WebElement username = driver.findElement(By.xpath("//*[@id='emailtxt']"); 
     username.clear(); 
     username.sendKeys(getCellContent(0, emptyUsernameRowNumber)); 
     Thread.sleep(1000); 
     WebElement password = driver.findElement(By.xpath("//*[@id='passwordtxt']"); 
     password.sendKeys(getCellContent(1, emptyUsernameRowNumber)); 
     WebElement continueButton = driver.findElement(By.xpath("//*[@id='main-section']/div/div/section[2]/div[3]/a/span"); 
     continueButton.click();  
} 

HTML:

<head> 
<body class="game-play game-login"> 
<div id="page"> 
<form id="form1" method="post" action="./"> 
<div class="aspNetHidden"> 
<script type="text/javascript"> 
<input id="email_hidden" name="email_hidden" value="2" type="hidden"> 
<input id="username_hidden" name="username_hidden" value="2" type="hidden"> 
<input id="profilepath_hidden" name="profilepath_hidden" value="2" type="hidden"> 
<div class="container fluid"> 
<div class="content-wrap"> 
<main id="main-section" class="transition page-in"> 
<div class="main-content"> 
<div class="game-login-wrap"> 
<section class="gme-ply-head"> 
<section class="center-pin"> 
<div class="title-head"> 
<ul class="log-reg clearfix"> 
<li class="active">Login</li> 
<li> 
</ul> 
</div> 
<div class="field-input"> 
<div class="login__row"> 
<input id="emailtxt" class="login__input email" name="emailtxt" placeholder="Email" type="text"> 
<span class="log-icon"> 
</div> 
<div class="login__row scn-top"> 
<input id="passwordtxt" class="login__input pass" name="passwordtxt" placeholder="Password" type="password"> 
<span class="log-icon"> 
</div> 
</div> 
+0

который исключение вы столкнулись? – NarendraR

+0

org.openqa.selenium.NoSuchElementException: не удается найти элемент с xpath == // * [@ id = 'main-section']/div/div/section [2]/div [1]/ul/li [1 ] – Amrutha

ответ

0

Попробуйте использовать ExplicitWait проверить элемент присутствует или нет, а затем выполните свои действия

WebDriverWait wait = new WebDriverWait(driver, 120); 
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='main-section']/div/div/section[2]/div[1]/ul/li[1]"))); 

// Do your actions 
+0

Элемент четко отображается на странице при выполнении кода. Еще явное ожидание. Но бесполезно. Я получаю ту же ошибку – Amrutha

+0

вы можете добавить некоторые html и фрагмент кода, потому что трудно судить о том, что происходит – NarendraR

+0

Код добавлен с вопросом – Amrutha

0

Его очень часто для xpaths, написанных на хроме, чтобы не работать с Internet Explorer.

С данным HTML сниппет и предполагая Логин завернутые в теге «LI» в качестве ссылки входа в систему, вы можете попробовать использовать ниже XPath:

//li[text()='Login'] 
+0

Это не сработало. Такая же ошибка .. – Amrutha

Смежные вопросы