3

我有以下 ruby​​ 代码行,它使 Google 电子表格特定列中的第一个单元格闪现(我希望将文本提取为脚本的一部分,而不是让它闪现......)

browser.element(:css => "[class=s24]").flash        #or
browser.element(:css => "s24").flash                #also works

我一直在尝试合并nth-of-typeCSS 选择器,但没有成功,如此处所述

以下不起作用......这似乎是因为nth-of-type类不能与类元素一起工作:-(

谁能建议我如何解决这个问题?

browser.element(:css => "[class=s24] nth-of-type(2)").flash
browser.element(:css => "[class=s24] td:nth-of-type(2)").flash
4

2 回答 2

2

你有不想使用的理由index吗?像这样的东西:

browser.element(:class_name => "s24", :index => 2).flash
于 2013-10-04T09:35:21.547 回答
1

我不知道是什么flash意思,但如果你可以撤消它,那么这里是简单的解决方案。

假设您td在同一个容器中有很多 s,并且您只想针对某个类的第二个。我会那样做。。

.s24 td ~ .s24 td //selects TD2, TD3, TD4 ... of .s24 class
.s24 td ~ .s24 td ~ .s24 td //selects TD3, TD4 ... of .s24 class

所以,你可以做这样的事情。

browser.element(:css => ".s24 td ~ .s24 td").flash //this will flash all TD2+
browser.element(:css => ".s24 td ~ .s24 td ~ .s24 td").Undoflash //This will undo the flash for TD3+

BTW:你说browser.element(:css => "s24").flash #also works 你不是说".s24"吗?

于 2013-10-04T09:21:10.537 回答