簡體   English   中英

Internet Explorer中的Selenium Webdriver

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM