首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >单击safari 6不支持的方法

单击safari 6不支持的方法
EN

Stack Overflow用户
提问于 2014-03-21 18:21:35
回答 1查看 72关注 0票数 0

我想用ruby for safari (版本6)用selenium编写自动化脚本,.but在safari版本6中不支持selenium的click方法,所以还有其他方法可以单击selenium元素。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-03-21 18:30:37

您可以使用Javascript来执行相同的操作。下面是生成单击的Java等价物。您应该能够将其转换为Ruby。

代码语言:javascript
代码运行次数:0
运行
复制
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的等价物将类似于

代码语言:javascript
代码运行次数:0
运行
复制
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不是很熟悉。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22556031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档