Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.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
Javascript 如何使用XPath或CSS选择可见元素?_Javascript_Css_Xpath_Internet Explorer 8_Selenium Webdriver - Fatal编程技术网

Javascript 如何使用XPath或CSS选择可见元素?

Javascript 如何使用XPath或CSS选择可见元素?,javascript,css,xpath,internet-explorer-8,selenium-webdriver,Javascript,Css,Xpath,Internet Explorer 8,Selenium Webdriver,我想在下面的代码中选择apply按钮。有两个按钮,只有一个按钮可见 //input[@value='Apply' and @id='btn' and @name='btn' and not(ancestor::td[contains(@style,'display:none')])] 我在上面写了XPath来选择可见的元素,但在web驱动程序中,它表示无法访问该元素。(浏览器-IE8) 我的问题是这个问题还有其他解决办法。我认为有很多方法可以编写上述xpath,对吗?如果这是一个Selen

我想在下面的代码中选择apply按钮。有两个按钮,只有一个按钮可见

//input[@value='Apply' and @id='btn' and @name='btn' and not(ancestor::td[contains(@style,'display:none')])]
我在上面写了XPath来选择可见的元素,但在web驱动程序中,它表示无法访问该元素。(浏览器-IE8)



我的问题是这个问题还有其他解决办法。我认为有很多方法可以编写上述xpath,对吗?

如果这是一个Selenium问题,您可以尝试以下方法:

//input[@value='Apply'][@id='btn'][@name='btn']  
       [not(ancestor::td[contains(@style,'display:none')])]
这是具有相同结果的同一表达式,但正如本文所述,Selenium可能在XPath中计算
时存在问题


我只想提到的另一个问题是,对于多个元素,不应该使用相同的
id
id
s应该是唯一的。否则,您的HTML无效。将ID更改为唯一值时,可以减少XPath匹配条件。

使用XPath选择元素:

选择第一个元素:

//div[@id='dashboard~120']子体::输入[@id='btn']。单击

选择第二个元素:

//div[@id='dashboard~121']后代::
//input[@value='Apply'][@id='btn'][@name='btn']  
       [not(ancestor::td[contains(@style,'display:none')])]