无法点击 href

Cannnot click a href

您好,我有以下代码

<!DOCTYPE html>
<html lang="en">
<head>
<body class="skin-blue sidebar-mini">
<div class="wrapper">
<header class="main-header">
<aside class="main-sidebar">
<section class="sidebar" style="height: auto;">
<div class="user-panel"> </div>
<br>
<br>
<br>
<ul class="sidebar-menu">
<li class="treeview">
<a href="../user/account">
<i class="fa fa-edit"></i>
<span>Basic Information</span>
</a>
</li>
<li class="treeview">
<a href="../admin/myproperties">
<i class="fa fa-list"></i>
<span>My Hotel</span>
</a>
</li>
</ul>
</section>
</aside>

我使用的守夜人代码是这个,错误是它无法定位元素。在其他网站上这会很好用,但在这里它就像 bugs

 module.exports = {
  tags: [''],
  'extranet' : function (client) {
    client
      .url('www.somesite.com')
      .waitForElementVisible('body', 1000)

      // --Log In Form //
      //.click('a[class="btn btn-block btn-social btn-lg btn-google"]')
      .setValue('input[name=email]', 'email@email.com')
      .setValue('input[name=password]', 'password')
      .click('button[type="submit"]')

      .click('a[href="../user/account"]')

解决方案: Kishan Patel 提供了很多帮助,所以这里是 Nighwatch.js 使用 Xpath

单击此元素
module.exports = {
  tags: [''],
  'extranet' : function (client) {
    client
      .url('www.somesite.com')
      .waitForElementVisible('body', 1000)
      .setValue('input[name=email]', 'email@email.com')
      .setValue('input[name=password]', 'password')
      .click('button[type="submit"]')
      .waitForElementVisible('section[class="sidebar"]', 10000)
      .useXpath()
      .click('html/body/div[1]/aside/section/ul/li[1]/a')
      .pause(5000)
      .end();

  }
};

试试下面的代码。 您在点击提交后申请一些等待,它会得到解决。 我 运行 JAVA 中的相同代码成功。

WebDriver driver = new FirefoxDriver();
driver.manage().window().maximize();

driver.get("http://example.com");

//登录用户名

driver.findElement(By.xpath("html/body/div[1]/div/div[2]/form/div[3]/input")).sendKeys("e-mail");

//密码

driver.findElement(By.xpath("html/body/div[1]/div/div[2]/form/div[4]/input")).sendKeys("password");

//点击提交

driver.findElement(By.xpath("html/body/div[1]/div/div[2]/form/div[5]/div/button")).click();

//等待元素可见

WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("html/body/div[1]/aside/section/ul/li[1]/a")));

//点击href="../user/account"

driver.findElement(By.xpath("html/body/div[1]/aside/section/ul/li[1]/a")).click();

首先很抱歉使用此部分发表评论,但我没有足够的声誉来这样做。 @Kishan Patel:你能看看我的问题吗?