【问题标题】:Click on hyper link is not loading webpage using Selenium webdriver单击超链接未使用 Selenium webdriver 加载网页
【发布时间】:2014-12-27 22:05:24
【问题描述】:

这是我的 html 在网页上的样子:

<form id ="invoice request">
    <div id = "charges">
        <div id = "charges">
            <div id= "billing">
                <a id = "modify" class="modify_link" href = "#"> Modify </a>

我无法通过单击修改费用链接来加载网页。 Selenium 测试通过而没有实际加载网页。

这是我的足迹:

driver.findElement (By.id  ("modify")).click ();
wait.until (ExpectedConditions.presenceOfElementLocated (By.id ("modify")).click ();

代码有什么问题?

【问题讨论】:

  • 我不确定 Click 在 wait.until 上做了什么 (ExpectedConditions.presenceOfElementLocated (By.id ("modify")).click ();
  • @Saifur ExpectedConditions 返回一个 webelement,因此您可以在“wait.until”调用中直接调用任何 webelement.method()。
  • 您没有同时执行两条线。你是吗?

标签: selenium webdriver href


【解决方案1】:

你所期望的条件实际上并没有在那里做任何事情。你的 HTML 显示当你点击时元素已经存在,因为它是你点击的。该元素仍将位于 DOM 上。您需要找到一个仅在您单击修改按钮后才显示的元素(我假设是 AJAX 调用),以确保您调用的单击按钮执行了任何操作。

【讨论】:

  • 一旦我点击了修改,这就是我得到的
  • 用 id='contentBody' wait.until (ExpectedConditions.visibilityOfElementLocated (By.id ("contentBody")) 验证定位器的可见性
  • 非常感谢@Rishi。它与 wait.until (ExpectedConditions.visibilityOfElementLocated (By.id ("contentBody")) 工作正常
猜你喜欢
相关资源
最近更新 更多
热门标签