一尘不染

如何使用Selenium和CSS获取属性值

selenium

我有以下HTML代码:

<a href="/search/?p=2&q=move&mt=1"> 2 </a>

我想获取href中包含的内容,即,我正在寻找一个命令,该命令将为href提供“ / search /?p = 2&q = move&mt = 1”值。

有人可以通过selenium中的相应命令和CSS定位器为我提供上述查询的帮助吗?

如果我有类似的东西:

<a href="/search/?p=2&q=move&mt=1"> 2 </a> 
<a href="/search/?p=2&q=move&mt=2"> 3 </a>

如果要获取href的属性值,那么这两个属性中的文本将内容标记为“ 2”,那么我的CSS定位器synatx会是什么样子?


阅读 276

收藏
2020-06-26

共1个答案

一尘不染

如果您的HTML仅包含一个<a>标签,则应这样做:

String href = selenium.getAttribute("css=a@href");

您使用该DefaultSelenium#getAttribute()方法并传入CSS定位符,@符号和要获取的属性名称。在这种情况下,您选择a并获取@href

回应您的评论/编辑:

  1. 之后的部分@告诉Selenium该部分是属性的名称。

  2. 您应该放在:contains('2')前面,@href因为它是定位器的一部分,而不是属性的一部分。因此,像这样:

    selenium.getAttribute("css=a:contains('2')@href");
    
2020-06-26