如何使用css选择器提取属性值?

时间:2009-12-29 01:12:02

标签: java selenium css-selectors

我想选择元素属性的值。例如,如果我有一个输入元素

<input type="text" name=myInput value="100">

我可以使用input[name='myInput']找到它,但如何使用css选择器获取它的值?

BTW,我正在尝试使用css选择器在Selenium中执行此操作

5 个答案:

答案 0 :(得分:8)

您可能想要解释您尝试对该值执行的操作。例如,我有以下CSS来显示打印样式表中'#content'元素中链接的文本:

#content a:link:after, #content  a:visited:after {
    content: " (" attr(href) ") ";
    font-size: 90%;
}

#content a[href^="/"]:after {
    content: " (http://example.com" attr(href) ") ";
}

答案 1 :(得分:2)

如果在Perl中使用WWW :: Selenium,则只需:

my $val = $selenium->get_value("css=input[name='myInput']");

如果使用其他语言,则Selenium库应支持get_value函数/方法。

答案 2 :(得分:1)

您可以使用以下内容:

 WebDriver driver=new FirefoxDriver();
    String nameAttribute=driver.findElement(By.cssSelector("Your css selector")).getAttribute("name")

答案 3 :(得分:0)

您最喜欢的JavaScript库应该有一些方法可以做到这一点:

的jQuery

$("input[name=myname]").val()

CSS seloctors的原型方法是$$()iirc。

对于此示例,您还可以使用本机document.getElementsByName()方法。

答案 4 :(得分:0)

在Java Selenium WebDriver中,有两种方法可以做到这一点

driver.findElement(By.name( “myInput”))。gettext的() driver.findElement(By.name( “myInput”))。的getAttribute(值)