Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用css选择器提取属性值?_Java_Selenium_Css Selectors - Fatal编程技术网

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

Java 如何使用css选择器提取属性值?,java,selenium,css-selectors,Java,Selenium,Css Selectors,我想选择元素属性的值。e、 如果我有一个输入元素 <input type="text" name=myInput value="100"> 我可以使用input[name='myInput']找到它,但是如何使用css选择器获取它的值呢 顺便说一句,我正试图在Selenium中使用css选择器来实现这一点,您可能想解释一下如何使用该值。例如,我使用以下CSS来显示打印样式表中“#content”元素中链接的文本: #content a:link:after, #content

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

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

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


顺便说一句,我正试图在Selenium中使用css选择器来实现这一点,您可能想解释一下如何使用该值。例如,我使用以下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) ") ";
}

您最喜欢的JavaScript库应该有一些方法来实现这一点:

jQuery

$("input[name=myname]").val()
原型用于CSS选择器的方法是$$()iirc


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

如果在Perl中使用WWW::Selenium,那么它只是:

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

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

您可以使用以下方法:

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

在JavaSeleniumWebDriver中,有两种方法可以做到这一点

driver.findElement(By.name(“myInput”)).getText()
driver.findElement(By.name(“myInput”)).getAttribute(value)

我有一个表,其中,每行都有一个带有value的输入元素。我必须读取所有这些值并作为数组返回。这有用吗?为了增加它,我通过table[class='tbl']>tbody>tr:nth child(1)>td:nth child(1)>input得到它,现在我需要找出输入元素的value属性,我以前应该添加这个。我试图在Selenium中做到这一点&我试图使用Selenium理解的CSS定位器提取值。所以我想,我必须看看JS library Selenium在CSS评估中使用了什么。请将标记Selenium添加到您的问题中,并在其中的某个地方添加“in Selenium”来重新表述它。如果您给出一些关于“选择”和“定位”所用技术的提示,这将非常有用。XSLT中的XPath?使用DOM的JavaScript?JavaScript与jQuery?有太多的猜测。对不起,这是硒。我试图使用CSS选择器(而不是XPath)来获取输入元素的值。显然,另一个人问了类似的问题,但这个人并没有试图提取您在下面的回答中提到的输入元素的值。请将问题的标题改为“如何使用Selenium提取属性值”以获得更好的回答。您在哪种语言中使用Selenium。Perl?啊哈!这是我的问题。我没有使用“css=”。谢谢。顺便说一句,这个问题的另一个附录-如果我有其他属性怎么办?比如说,如果我有一个复选框,我想获取该复选框的id或其onclick属性等。是否有任何通用方法来获取元素的任何属性的值?如果基本Selenium API没有处理您所追求的内容,那么总是有
get\u eval()
允许您编写javascript代码并返回所需的任何内容:innerHTML、javascript变量、元素属性等。例如:
my$txt=$selenium->get_eval('document.getElementById(“foo”).title')