gpt4 book ai didi

javascript - 如何点击包含变量为 "href"属性的链接?

转载 作者:行者123 更新时间:2023-11-30 12:16:16 25 4
gpt4 key购买 nike

我正在使用 Selenium + WebdriverIO 编写验收测试。我对此有一些问题 - 我无法点击此链接

client.click('a[href=#admin/'+ transactionId + ']')

transactionId - 它是一个包含交易 ID 的变量。我的 HTML 代码:

 <div class="ui-data-table">
<thead>...</thead>
<tbody>
<tr><td class="tac">
<span class="tooltip" title="Transaction"><i class="icon-transaction"></i></span>


</td>
<td class="tac no-break">Today 10:23</td>
<td class="break-all"></td>
<td class="tac">
N/A
</td>
<td>Artem</td>
<td class="tac">
<span class="tooltip" title="Pending">

<i class="icon-clock"></i>


</span>
</td>
<td class="break-all">Artem Arsenowitch</td>
<td class="tac">
<a href="#admin/aceb3f65-4078-4f47-8850-95ac9135fad3"><i class="icon-arrow-circle-right"></i></a>
</td></tr>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
</tbody>
</div>

每个“tr”标签都具有与您在上面看到的相同的结构,并且“a”标签在 href 属性中具有适当的 id。主要问题在于这段代码:

('a[href=#admin/'+ transactionId + ']')

因为它返回

(a[href=#admin/undefined]) 

Girish Sortur 感谢您的回答,但我只找到了一个使用此代码的解决方案:

.getAttribute("p.tac", "transaction-id")
.then(function(attr){
transactionId = attr;
transactionURL = 'a[href="#admin/'+ transactionId + '"]';
})
.click('a[href="#admin"]')
.waitForExist("div.ui-data-table", 10000).then(function(){
client.click(transactionURL)//That is working now
})

最佳答案

仅使用 Selenium,您应该首先找到元素然后单击它,因为 click() 方法不接受参数。这是您可以做到的 -

driver.findElement(by.xpath('a[href="#admin/'+ transactionId + '"]')).click();

但是,如果您将 webdriver-io 与 selenium 一起使用,请确保首先生成您的 transactionId,然后单击它,因为异步 javascript 会快速执行,而无需等待 transaction-id 返回。方法如下 -

.waitForExist("p.tac", 10000)
.getAttribute("p.tac", "transaction-id")
.then(function(attr){
transactionId = attr;
})
.click('a[href="#admin"]').waitForExist("div.ui-data-table", 10000)
.waitForVisible('a[href="#admin/'+ transactionId + '"]', 10000)
.click('a[href="#admin/'+ transactionId + '"]');

希望这对您有所帮助。

关于javascript - 如何点击包含变量为 "href"属性的链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32356142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com