我今天在我的项目中遇到了一个小问题,我需要按住控制键一段时间,然后选择{n}行数。
下面是我的代码片段任何帮助都是非常感谢的。
!!!!…我要按住控制键单击一行,然后单击另一行,最后释放控制键…!!!!
while(存储模块计数移除>0)

     $browser.element(:xpath,"//table[@id ='selectConfiguration']/tbody/tr[0]").click(:control);
     $browser.element(:xpath,"//table[@id ='selectConfiguration']/tbody/tr[1]").click(:control);
     enclosure_count_remove -= 1;

结束
我尝试的第二种方法如下
while(存储模块计数移除>0)
     $browser.send_keys :control
     $browser.element(:xpath,"//table[@id ='selectConfiguration']/tbody/tr[0]").click;
     $browser.element(:xpath,"//table[@id ='selectConfiguration']/tbody/tr[1]").click;
     enclosure_count_remove -= 1;

结束
两者对我都不起作用,每次我都能点击,但未能按住并点击两个实体。
谢谢!
阿迪亚

最佳答案

在查看了watir webdriver element.click()方法之后,我认为您必须直接使用Webdriver Action Builder。试试这个:

action = $browser.driver.action
action.key_down(:control)
action.click $browser.element(:xpath,"//table[@id ='selectConfiguration']/tbody/tr[0]").wd
action.click $browser.element(:xpath,"//table[@id ='selectConfiguration']/tbody/tr[1]").wd
action.key_up(:control)
action.perform

我没有一个网页来测试这个,所以我要去纯粹基于文件。

关于ruby - 如何在Watir WebDriver中按住控制键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10801661/

10-10 08:45