繁体   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