在Webdriver中查找元素

时间:2017-04-13 16:51:00

标签: xpath selenium-webdriver

我试图在这里找到test1,但我不能。有人能告诉我我做错了什么吗?

<button class="btn toggle-tab active" data-filter="test1">test1</button>
<button class="btn toggle-tab" data-filter="test2">test2</button>
<button class="btn toggle-tab" data-filter="test3">test3</button>
<button class="btn toggle-tab" data-filter="test4">test4</button
我试过的是 -

.//*[text()='test1']

.//title[text()='test1']

.//data-filter[text()="test1"]

3 个答案:

答案 0 :(得分:1)

"//button[contains(.,'test1')]"

还有其他方法,但我更喜欢包含等于(=)和包含,我更喜欢&#34;。&#34; over&#34; text()&#34;

您正在有效地搜索第一个标记名&#34;按钮&#34;其中包含文字&#39; test1&#39;

此问题与XPath相关,因此您可能希望在将来发布的帖子中包含xpath标记。

答案 1 :(得分:0)

找到linktext的Xpath是 - // htmltag [文本()=&#39; linktext的&#39;]

在您的情况下,xpath将 - //按钮[文本()=&#39; TEST1&#39;]

答案 2 :(得分:0)

尝试使用CSS选择器,而不是使用XPath来定位元素。 test1的CSS选择器将是按钮[class $ =&#39; active&#39;] 。 在查找elements.xpath时,最好使用id,CSS选择器或类名,在最坏的情况下通常是首选。幸运的是,我只遇到了几个案例。