![](/img/trans.png)
[英]selenium webdriver no element found error in internet explorer
[英]Selenium Webdriver in Internet explorer
我已經使用selenium webdriver
和java自動化了登錄功能,並使用chrome驅動程序執行了它。
一切正常。 然后我嘗試用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>
嘗試使用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
對於chrome編寫的xpath,通常無法與Internet Explorer一起使用。
使用給定的HTML代碼段,並假設將“ Login”包裹在“ li”標簽中作為您的登錄鏈接,您可以嘗試使用以下xpath:
//li[text()='Login']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.