我想在selenium中使用ruby for safari(版本6)编写自动化脚本。但是safari版本6不支持selenium的click方法,所以还有其他方法可以点击selenium元素。
感谢。
答案 0 :(得分:3)
您可以使用Javascript来执行相同操作。以下是Java等效产生点击。您应该能够将其转换为Ruby。
JavascriptExecutor js = (JavascriptExecutor) driver;
String script =
"var elem = document.getElementById('element_id');"+
"if( document.createEvent) {"+
"var evObj = document.createEvent('MouseEvents');"+
"evObj.initEvent( 'click', true, false );"+
"elem.dispatchEvent(evObj);"+
"} else if( document.createEventObject ) {"+
"elem.fireEvent('onclick');"+
"}";
js.executeScript(script);
Ruby等价物将类似于
script = "var elem = document.getElementById('element_id');"+
"if( document.createEvent) {"+
"var evObj = document.createEvent('MouseEvents');"+
"evObj.initEvent( 'click', true, false );"+
"elem.dispatchEvent(evObj);"+
"} else if( document.createEventObject ) {"+
"elem.fireEvent('onclick');"+
"}";
driver.execute_script(script);
PS:我是一个Java人,不太熟悉Ruby。