我想选择一个元素的属性值。 e.g如果我有使用input[name='myInput']
输入元素如何使用css选择器提取属性值?
<input type="text" name=myInput value="100">
我能找到它,但我如何才能使用CSS选择器的它的价值?
BTW,我尝试使用CSS选择
我想选择一个元素的属性值。 e.g如果我有使用input[name='myInput']
输入元素如何使用css选择器提取属性值?
<input type="text" name=myInput value="100">
我能找到它,但我如何才能使用CSS选择器的它的价值?
BTW,我尝试使用CSS选择
如果在Perl使用WWW ::硒那么它只是:
my $val = $selenium->get_value("css=input[name='myInput']");
如果使用另一种语言,然后硒库应该支持的get_value函数/方法。
啊哈!那是我的问题。我没有使用“css =”。谢谢。 – John 2009-12-29 02:09:25
顺便说一句,该问题的另一附录 - 如果我有其他属性呢?让我们说如果我有一个复选框,我想获得该复选框的ID或其onclick属性等。有没有任何通用的方法来获取任何元素的属性值? – John 2009-12-29 02:12:09
如果你之后没有通过基本的Selenium API处理,那么总是有'get_eval()',它允许你编写javascript代码并返回任何你想要的东西:innerHTML,javascript变量,元素属性等。 – slebetman 2009-12-29 04:36:35
您可能要解释你想用价值怎样做才能做到这一点的硒。举例来说,我有以下的CSS显示的链接中的“#内容”元素的文本在我的打印样式表:
#content a:link:after, #content a:visited:after {
content: " (" attr(href) ") ";
font-size: 90%;
}
#content a[href^="/"]:after {
content: " (http://example.com" attr(href) ") ";
}
我有一个表,其中,每行有一个输入元素的值。我必须读取所有这些值并将其作为数组返回。这有帮助吗? 只是要添加到它,我得到了 表[t => tbody> tr:nth-child(1)> td:nth-child(1)>输入 现在我需要找出该输入元素的值属性 – John 2009-12-29 01:26:23
你最喜欢的JavaScript库应该有一些办法做到这一点:
jQuery的
$("input[name=myname]").val()
原型对CSS seloctors方法是$$()IIRC。
对于这个例子,你也可以使用原生的document.getElementsByName()方法。
您可以使用下列内容:
WebDriver driver=new FirefoxDriver();
String nameAttribute=driver.findElement(By.cssSelector("Your css selector")).getAttribute("name")
在Java中硒的webdriver有2种方式来做到这一点
driver.findElement(By.name( “myInput”))的getText() driver.findElement(By.name(“myInput”))。getAttribute(value)
如果您对用于“选择”和“定位”的技术提供了一些提示,将会有所帮助。 XSLT中的XPath? JavaScript使用DOM? JavaScript与jQuery?有很多猜测之中。 – ndim 2009-12-29 01:34:22
对不起,这是在Selenium。我正在尝试使用CSS选择器(而不是XPath)来获取输入元素的值。 – John 2009-12-29 01:39:23
显然另一个人问了一个类似的问题,但是这个人并没有试图提取他之后输入元素的值http://stackoverflow.com/questions/1909584/xpath-to-css-selector – John 2009-12-29 01:48:51