具有类名的ruby selenium单击按钮
我正在使用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"
<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