具有类名的ruby selenium单击按钮

具有类名的ruby selenium单击按钮,ruby,selenium-webdriver,Ruby,Selenium Webdriver,我正在使用ruby和selenium测试一个网页,下面有两个按钮 <div class="AVdis"> <span class="gwt-InlineHTML"/> <a class="AVcur" name="attendEdit"; font-size: 12px;">[edit]</a> </div> <div class="lineHeight"> <button type="button"

我正在使用ruby和selenium测试一个网页,下面有两个按钮

<div class="AVdis">
  <span class="gwt-InlineHTML"/>
    <a class="AVcur" name="attendEdit"; font-size: 12px;">[edit]</a>
</div>
<div class="lineHeight">
  <button type="button" class="pcbtn" style="display: inline-block;">yes</button>
</div>
但它不起作用,请建议

谢谢

更新了完整的HTML代码(仅“pcbtn”类的部件代码,不包括“AVcur”类的部件):


按下按钮

尝试使用xpath单击它:

driver.find_element(:xpath, "//div[@class='AVdis']//a[@name='attendEdit']").click
第二个元素xpath:

driver.find_element(:xpath, "//div[@class='lineHeight']//button[@class='pcbtn'][text()='yes']").click
单击一个图元:

driver.find_element(css: 'a').click

find_elements
可以返回具有指定类的多个元素。尝试
find_元素(:class,'AVcur')[0]。单击
@Santosh:get error
':未定义的方法
click'for nil:NilClass(NoMethodError)我认为您的语法可能错误。请尝试
find_elements(:class=>'AVcur')[0]。单击
您确定页面中有一个类为'AVcur'的元素吗?@Santosh:是的,我粘贴了html代码,谢谢您的回答,但仍然会出现错误,'raw_execute':无法找到元素:{“using”:“xpath”,“value”:”//div[@class='AVdis']//a[@name='attendEdit']}(Selenium::WebDriver::Error::NoSuchElementError),为什么我找不到这些元素?我看到按钮[@class='pcbtn']在iframe中,您需要先切换到该iframe,然后再单击它(您可以在ruby WebDriver中搜索iframe之间的切换)。可能第一个元素也在iframe内?问题是webdriver找不到iframe内的元素,如果你不切换到“itI”我认为两个iframe在开始时是关闭的?哦,是的,正确。那么它是wierd。如果你使用firefox和firebug,其中有FirePath选项卡,它是否找到xpath//div[@class='AVdis']//a[@name='AttentideIt']?如果它不在iframe中,可能在页面的ajax下不可见区域中,您应该首先滚动/移动鼠标吗?
driver.find_element(:xpath, "//div[@class='lineHeight']//button[@class='pcbtn'][text()='yes']").click
driver.find_element(css: 'a').click