我想用ruby for safari (版本6)用selenium编写自动化脚本,.but在safari版本6中不支持selenium的click方法,所以还有其他方法可以单击selenium元素。
谢谢。
发布于 2014-03-21 18:30:37
您可以使用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不是很熟悉。
https://stackoverflow.com/questions/22556031
复制相似问题