WebDriver(Ruby):如何在一个查询中避免使用父元素和子元素(嵌套)的“复合类名称不允许”错误

时间:2017-02-16 23:39:44

标签: ruby selenium selenium-webdriver webdriver

对于子/嵌套元素,例如

<span class="target-identification">
   <h2 class="light collapsed card-title">
</span>

如何在不触发

的情况下在一个查询中定位子/嵌套元素
Selenium::WebDriver::Error::InvalidSelectorError: invalid selector: Compound class names not permitted

错误?

1 个答案:

答案 0 :(得分:1)

如果想要定位子元素,那么这是一种方法

driver.find_element(css:'.parent-class-name .desired-child-class-name')

例如,如果这是HTML

<span class="target-identification">
   <h2 class="light collapsed card-title">
</span>

那么命令就是

driver.find_element(css:'.target-identification .card-title')

或者,两步选项,其中在外部/父元素内搜索如下:

parent_element  = driver.find_element(class: 'target-identification')
desired_element = parent_element.find_element(class: 'card-title')