首页 > 解决方案 > Selenium Webdriver-如何单击网页中的“登录”按钮

问题描述

我是 selenium 的新手,尝试了不同的方法来单击网页中的登录按钮,但最终出现“无法找到元素:”错误。感谢您对我如何正确执行此操作的帮助。

<form class="LoginForm__Form-gmPGuK fIaXrM" autocomplete="off">
   <div class="InputWrapper__Wrapper-dYpPUc btujOC">
      <label class="Input__Container-evMrUq XWErm"><span class="Input__Label-dTgnUu ikGhjC">Username</span><input class="Input-eXLwAq eqVwiS" name="username" type="text" maxlength="20" autocomplete="off" value="" style="font-size: 1.6rem;"></label>
      <p class="InputWrapper__ErrorMessage-bFHpkO jmYdPT">Invalid username</p>
   </div>
   <div class="Password__Wrap-kEDFHF gajvNg">
      <div class="InputWrapper__Wrapper-dYpPUc btujOC"><label class="Input__Container-evMrUq ipuRfT"><span class="Input__Label-dTgnUu ikGhjC">Password</span><input class="Input-eXLwAq eqVwiS" name="password" autocapitalize="off" id="password" type="text" maxlength="20" autocomplete="off" value="" style="font-size: 1.6rem;"></label></div>
   </div>
   <div class="LoginForm__Agree-djIMue hEHJaH">By logging in, you agree to our  <a class="LoginForm__Terms-diivNK iYiAkF" href="https://www.EEE.com/yyyyyyy/rr/terms-and-conditions.html" target="_blank">Terms &amp; Conditions</a></div>
   <button class="Button-hYXUXp bTvZVR" type="submit">LOG IN</button>
</form>

标签: seleniumselenium-webdriver

解决方案


试试这个代码WebdriverWait

WebElement username= driver.findElement(By.name("username"));
username.sendKeys("dsfs");

WebElement password= driver.findElement(By.name("password"));
password.sendKeys("fsdfdsfs");

WebElement LogInbtn= driver.findElement(By.xpath("//button[text()='LOG IN']"));
WebDriverWait wait = new WebDriverWait(driver, 30);
wait.until(ExpectedConditions.elementToBeClickable(LogInbtn));
LogInbtn.click();

如果它在框架中,则首先进入框架,然后使用上面的代码


推荐阅读