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

Ryo*_*Ryo 8 selenium capybara

我正在使用Selenium在Capybara中编写自动化代码.我的HTML中有以下元素,我想在Capybara中单击此元素.

<a href="#" class="classA classB">click me</a>
Run Code Online (Sandbox Code Playgroud)

目前,工作方式如下.

find('.classA', :text=>"click me").click
Run Code Online (Sandbox Code Playgroud)

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

find('a.classA.classB').click
click_on('a.classA.classB')
Run Code Online (Sandbox Code Playgroud)

我知道我们可以获取javascript代码,但这并不聪明.

page.execute_script('$("a.classA.classB").click()')
Run Code Online (Sandbox Code Playgroud)

Ame*_*mey 14

您可以按搜索元素 xpath

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

//div[contains(@class, 'classA') and contains(@class, 'classB')]
Run Code Online (Sandbox Code Playgroud)

你也可以用 css

(:css, ".classA.classB")
Run Code Online (Sandbox Code Playgroud)