【问题标题】:Selenium Web driver button with java带有 java 的 Selenium Web 驱动程序按钮
【发布时间】:2016-08-09 08:04:26
【问题描述】:

我希望我的网络驱动程序从我试图自动化的页面中选择一个名为 允许 的按钮。这是 div

<td>
    <button id="itbtnPagar"onclick="javascript:master_pagar_giro(320535,&quot;67085703b3fa5ef2aab2d1596b364441e021cd79&quot;);"class="botones" type="button"> Allow </button>
</td>

这里是pojo摘录:

if (driver.findElement(By.id("ctl00_cphMain_ctBusquedaPagador1_txtReceipt")).isSelected())
{
    driver.findElement(By.id("ctl00_cphMain_ctBusquedaPagador1_txtReceipt")).click();
    Thread.sleep(4000);

    if (driver.findElement(By.id("ctl00_cphMain_ctBusquedaPagador1_txtReceipt")).isSelected())
    {
        driver.findElement(By.id("itbtnPagar")).click();
        driver.findElement(By.className("botones")).click();
        Thread.sleep(5000);
    }
    if (driver.findElement(By.id("ctl00_cphMain_ctBusquedaPagador1_txtReceipt")).isSelected())
    {
        driver.quit();
        return;
    }
}

如何让 selenium 点击该按钮 允许 以产生事件。请协助。

【问题讨论】:

  • 1- 请将您的代码格式化为可读格式 2- 您有什么问题?
  • 按钮的id是否唯一?执行进入if这个点击?
  • @Guy 我希望您现在能够清楚地阅读代码。我遇到的问题是我应该从&lt;button&gt; 标签中选择什么元素并将其与上面pojo 摘录中的对象成功匹配。我试过使用 id 没有成功。
  • @lauda 在这种情况下,我在问如何将&lt;button&gt; 标记中的元素与 java 元素匹配
  • 好吧,现在它的可读性更差了。你能这样读吗?关于你的问题,你有什么错误吗?它在哪里失败了?

标签: java html selenium


【解决方案1】:

试试

driver.findElement(By.xpath("//button[contains(@id, 'ibtnPagar') and contains(@type, 'button')]))".click();

【讨论】:

  • 我会尝试一下,虽然我已经关闭了那个项目。我仍然重视您的意见
【解决方案2】:

为什么不能通过 id 点击它?

driver.findElement(By.id("itbtnPagar")).click();

您还可以 grub onclick 值并使用 js ExecuteScript 调用它

要初始化 js,您需要先初始化驱动程序,然后:

JavascriptExecutor js = (JavascriptExecutor) driver;

string scriptToExecute = driver.findElement(By.id("itbtnPagar").getAttribute("onclick");
js.executeScript(scriptToExecute);

【讨论】:

  • 我真的很喜欢你在我遇到的这个问题上的方法。只是你的澄清。 js在那里是如何使用的?
  • 我尝试了这种方法,但仍然没有成功。我将对它进行修改以获得任何积极的结果。供参考。没有错误抛出
猜你喜欢
  • 2014-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多