如何使用Selenium WebDriver的正则表达式查找属性值?

时间:2013-05-07 17:38:56

标签: regex webdriver selenium-webdriver

HTML如下:

<div class="item link-color-1 
     automated link-track logout-link" 
     data-track-category="Logout" 
     data-track-action="Logout from /myaccount/mymoney/cashier" 
     data-data-automated-function="clickTracker"> logout </div>

要查找链接的x路径,尝试类似:// * [contains(@ data-track-category ='Logout')。但它不起作用。请帮忙。

2 个答案:

答案 0 :(得分:1)

如果您只是想找到元素本身(而不是问题标题所暗示的属性值),您可以随时使用CSS(它是我选择的选择器而不是XPath)。

你还没有说明你使用哪种语言绑定,所以这就是我在Ruby中通过只使用data-track-category属性来选择元素的方法:

@driver.find_element(:css => "[data-track-category='Logout']")

当然,这同样适用于所有绑定。只需使用值"[data-track-category='Logout']"作为CSS方法。

答案 1 :(得分:0)

您始终可以将给定元素存储在WebElement中,然后使用getAttribute()方法。您可以找到文档here

WebElement myDiv = driver.findElement(By.className("logout-link"));
String attributeValue = myDiv.getAttribute("data-track-category");

这应该适用于Java。不确定这是您正在寻找的语言,还是必须使用正则表达式。