2013-07-24 14 views
9

Linux'ta bir krom tarayıcıda devtools'u klavye kısayollarını kullanarak başlatmaya çalışıyorum. Yukarıdaki kod Firefox'ta (Key press in (Ctrl+A) Selenium WebDriver önerildiği gibi) çalışacakSelenium ve Ruby ile krom için klavye kısayolları gönderme

driver.action.key_down(:shift) 
      .key_down(:control) 
      .send_keys("i") 
      .key_up(:shift) 
      .key_up(:control) 
      .perform 

ancak krom, nil döndürür: Ruby kullanıyorum ve bir akor yöntemine sahip olmadığından, aşağıdaki denedim ama sonuç yok.

Herhangi bir öneri?

+0

Daha ayrıntılı olabilir misiniz lütfen? Neyin var? Bu çıktıyı nereden buldun? –

+0

Bu kodu komut satırında bir hata ayıklayıcı modunda geçirmeyi denedim, böylece göz ardı edilen herhangi bir hata döndürüldüyse ilk elden görebildim. 'nil', hata oluştuğunda eylem oluşturucunun döndürdüğü şeydir. Bu yüzden, bu kodu Firefox'ta kullanmaya çalıştığımda, ve başarılı oldu, geri döndü. Bu kodu kromda kullanmaya çalıştığımda ve başarılı olmadığında nil de geri döndü. Ancak, bir şey sözdizimsel olarak yanlış olduğunda (anahtar_down yöntemini kullanarak "i" yi geçmeye çalıştım), komut isteminde bir hata gösterildi. –

+0

.send_keys ("i") 'yi görebiliyorum. * I * tuşunu 'key_down' ile geçmediniz. –

cevap

0

Sadece yanlış bir tuş bileşimini kullanıyorsunuz. Buna göre: https://support.google.com/chrome/answer/171571?hl=en&ref_topic=25799, Geliştirici Araçları'nı açmanın kısayolu Linux ve Windows'ta Ctrl-Shift-J ve Mac'te Cmd-Opt-I'dir.

+0

Ya da sadece F12 tuşu sadece Linux'ta çalışır. –

+0

F12 ve diğer çeşitli teknikleri denedim ve işe yaramadı. : / –

0

Dev-araçları açmak istiyorsanız, java robot sınıfını kullanabilirsiniz. Selenyum ise

try{ 
     Robot robot=new Robot(); 
     robot.keyPress(KeyEvent.VK_F12); 
     robot.keyRelease(KeyEvent.VK_F12); 
    } 
    catch(Exception ex){ 
     System.out.println(ex.getMessage()); 
    } 
1

ben kullandım:

fonksiyon tuşu F12.

driver.FindElement(By.XPath("String")).SendKeys(Keys.F12); 
İlgili konular