无法使用Selenium IE驱动程序选择nth-child

时间:2012-09-26 23:34:53

标签: c# selenium webdriver

我想使用css选择器使用IE驱动程序从option元素中选择第二个或第n个select

我尝试了以下但不起作用。

选项:第n个孩子(1)

如果我提供一个值,它会起作用,但我不知道这个值,所以我喜欢选择nth-child。

选项[值= '1']

我在IE8上遇到的错误是javascript错误:

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; MS-RTC LM 8; .NET4.0E; Tablet PC 2.0)
Timestamp: Wed, 26 Sep 2012 23:34:46 UTC

Message: Invalid argument.
Line: 30
Char: 96
Code: 0
URI: http://blah/foo.aspx

1 个答案:

答案 0 :(得分:1)

这是完全可以预期的。 Internet Explorer 8支持querySelector()querySelectorAll(),因此IE驱动程序依赖于浏览器的CSS选择器的本机实现,这意味着您只能使用浏览器提供的任何级别的CSS选择器支持。在IE 8的情况下,浏览器不支持CSS3选择器,因此IE驱动程序不能与任何CSS3选择器一起使用。当然,nth-child()是CSS3规范的一部分,因此在IE 8中使用IE驱动程序将不支持nth-child()。至于哪些浏览器支持哪些选择器,quirksmode.org提供了很好的参考,它提供了每个选择器及其支持的浏览器的精彩摘要。