I want to select the values of attributes of an element. e.g If I have an input element
<input type="text" name=myInput value="100">
I can locate it using input[name='myInput']
, but how do I get the value 开发者_JAVA技巧of it using a css selector?
BTW, I am trying to do this in Selenium using css selectors
You might want to explain what you're trying to do with the value. For instance, I have the following CSS to display the text of the links in the '#content' element in my print style sheet:
#content a:link:after, #content a:visited:after {
content: " (" attr(href) ") ";
font-size: 90%;
}
#content a[href^="/"]:after {
content: " (http://example.com" attr(href) ") ";
}
If in Perl using WWW::Selenium then it's simply:
my $val = $selenium->get_value("css=input[name='myInput']");
If using another language then the Selenium library should support a get_value function/method.
You could use the following:
WebDriver driver=new FirefoxDriver();
String nameAttribute=driver.findElement(By.cssSelector("Your css selector")).getAttribute("name")
Your favorite JavaScript library should have some way to do this:
jQuery
$("input[name=myname]").val()
Prototype's method for CSS seloctors is $$() iirc.
For this example you could also use the native document.getElementsByName() method aswell.
In Java Selenium WebDriver there are 2 ways to do this
driver.findElement(By.name("myInput")).getText() driver.findElement(By.name("myInput")).getAttribute(value)
精彩评论