首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium:如何使用按钮标签单击按钮?

Selenium:如何使用按钮标签单击按钮?
EN

Stack Exchange QA用户
提问于 2017-06-30 05:43:36
回答 3查看 26.3K关注 0票数 4

在这样的HTML代码中:

代码语言:javascript
复制
<a class="test-class">
    <div class="test-content">
        <div class="test-time" data-start="12:13pm" data-full="12:13 PM - 12:50 PM">
            <span>12:13pm - 12:50pm</span>
        </div>
        <div class="test-title">Classes Name</div>
    </div>
    <div class="test-bg"></div>
</a>

我正在尝试点击<a class="test-class"">。但是,我需要通过文本12:13pm - 12:50pm<span>12:13pm - 12:50pm</span>中定位该元素,这在前端是不可见的。

有办法得到XPath of <a class="test-class"">吗?

EN

回答 3

Stack Exchange QA用户

回答已采纳

发布于 2017-06-30 09:37:16

如果要匹配"a“元素,则需要使用祖先。

代码语言:javascript
复制
//span[text()='12:13pm - 12:50pm']/ancestor::a[@class='test-class']
票数 3
EN

Stack Exchange QA用户

发布于 2017-06-30 06:50:40

根据上面共享的代码,以下两个x-paths中的任何一个都可以使用问题中提到的文本来定位元素。

若要通过精确的文本搜索元素:

//a@class=‘test-class’//span文本()=‘12:13-12:50下午’

下面的x路径是类似的搜索.这将使您可以灵活地使用文本中独特的部分。

(在情况下,有多个具有类似文本的元素)。

//a@class=‘test-class’//span包含(文本(),‘12:13-12:50’)

票数 1
EN

Stack Exchange QA用户

发布于 2017-06-30 09:31:04

同意上述答案。想补充几点:

解决方案1-

  • 这个解决方案目前正在与我合作。driver.findElement(By.xpath("//div..。=‘12:13-12:50’")).click();
  • 但它有一个障碍。除了英语的一些特殊字符之外,不能使用其他字符。在下一个解决方案2中避免

解决方案2-

  • 这是一个很好的解决方案,如果您使用字符串或文本的特殊字符,空格。String label = "12:13pm - 12:50pm";String =String.format(“//.,%S(包含)”,label);driver.findElement(By.xpath( string ));
  • 我从这里那里得到了解决方案
票数 0
EN
页面原文内容由Stack Exchange QA提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://sqa.stackexchange.com/questions/28145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档