我想用右键和alt+y复制页面中的图像,并遵循代码是在火狐很好的工作,但铬和ie。所以我无法从剪贴板上获取图像。
require 'watir-webdriver'
b = Watir::Browser.new :chrome
b.goto('www.baidu.com')
b.img(:src=>"http://www.baidu.com/img/baidu_sylogo1.gif").right_click
b.send_keys ("{alt}y")和下面的代码可以很好地工作
require 'watir-webdriver'
b = Watir::Browser.new :chrome
b.goto('www.baidu.com')
b.send_keys :tab这可以很好地工作。
发布于 2012-04-14 00:48:33
当你使用b.send_keys ("{alt}y")时,你只需要输入字母{,a,l等。
试着这样做:
b.send_keys([:alt, 'y'])Watir和Watir-Webdriver对send_keys使用不同的输入-请参阅here。
注意:我没有用这个测试你的完整脚本。老实说,我不知道如何使用alt+y手动将图像复制到剪贴板。
发布于 2012-04-14 00:05:30
这将有助于了解您为什么要保存图像。屏幕截图可以吗?如果可以,请尝试这样做:
b.driver.save_screenshot "#{Time.now.to_i}.png"发布于 2012-04-14 04:25:21
不要浪费任何时间尝试自动化验证,例如Captcha (完全自动化的公共图灵测试,以区分计算机和人类)或其他旨在阻碍自动化的身份验证系统。是的,这是可以做到的,但它实际上正在进行一场军备竞赛或向风车倾斜。更重要的是,它不会给你的雇主带来价值。
围绕验证码或验证码自动化的正确方法是配置测试环境,使代码是可预测的。许多验证码工具,或验证工具,具有在“测试”模式下操作的能力,在这种模式下,它们具有设置的响应。您永远不会以这种方式配置生产环境,但是您可以很容易(并且应该)以这种方式配置测试环境。
与设置和控制测试环境的人员交谈。他们只需要一些逻辑,知道这是一个测试环境,然后使用适当的api调用验证码或授权工具(如google authorizer,或每5分钟输出数字的小部件),将其置于测试模式,以便使用可预测的验证响应。
下面是我正在讨论的一个示例:http://captcha.biz/doc/aspnet/api/captcha-configuration-reference.html#BotDetect.Configuration.ITestModeConfiguration
如果您使用的是不支持此功能的工具,那么您可以将系统配置为完全跳过验证码,也可以将其配置为指向您创建的一些测试存根(而不是真正的验证码系统)。这将是您或您的开发人员创建的一小部分代码,这些代码使用与真实验证码相同的api,但总是期望得到相同的答案。在这种情况下,一切都与它与真正的captcha服务对话的行为完全相同,但它与之对话的小存根代码总是以相同的“答案”发送相同的图像,例如“测试”。
这类事情对于测试环境来说是正常的,在测试环境中,所有类型的第三方东西要么被禁用,要么进入测试模式,或者连接到测试沙箱(例如验证码、广告、网站分析、跟踪像素、信用卡授权服务等)。
https://stackoverflow.com/questions/10137087
复制相似问题