为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Selenium 通过 xpath 一致地单击图标

如何使用 Selenium 通过 xpath 一致地单击图标

C#
慕标琳琳 2021-06-03 17:09:49
请参阅下面从开发人员工具复制的 xpath 表达式。//*[@id="parentDiv"]/table/tbody/tr[1]/td[8]/div/profile-link-column/a/i我想单击第一行中的第 8 个表数据(实际上是一个小图标),因此这可以正常工作 10 次中的 3 次。有人可以建议更可靠的方法吗?这是我的 HTML:<td>    <!--anchor-->    <div class="animated-slide-in au-enter-active">        <profile-link-column device-id="${value.value}" class="au-target" au-target-id="395">            <a click.trigger="viewProfile()" class="au-target" au-target-id="55">                <i class="fa fa-newspaper-o"></i>            </a>        </profile-link-column>    </div>    <!--anchor-->    <!--anchor-->    <!--anchor-->    <!--anchor-->    <!--anchor--></td>
查看完整描述

2 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

要单击所需的元素,您必须诱导WebDriverWait使元素可单击,如下所示:

new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(ExpectedConditions.ElementToBeClickable(By.XPath("//td/div[@class='animated-slide-in au-enter-active']/profile-link-column[@class='au-target']/a[@class='au-target']/i[@class='fa fa-newspaper-o']"))).Click();



查看完整回答
反对 回复 2021-06-05
  • 2 回答
  • 0 关注
  • 229 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信