一尘不染

在capybara中选择具有多个类的元素

selenium

我正在用Capele在Capybara中编写自动化代码。我的HTML中包含以下元素,我想在capybara中单击该元素。

<a href="#" class="classA classB">click me</a>

目前,工作方式如下。

find('.classA', :text=>"click me").click

但是我想从像这样的两个类的名称中选择元素

find('a.classA.classB').click
click_on('a.classA.classB')

我知道我们可以触发JavaScript代码,但这并不明智。

page.execute_script('$("a.classA.classB").click()')

阅读 210

收藏
2020-06-26

共1个答案

一尘不染

您可以通过以下方式搜索元素 xpath

根据您的示例,似乎以下应该工作

//div[contains(@class, 'classA') and contains(@class, 'classB')]

您也可以使用 css

(:css, ".classA.classB")
2020-06-26