2012-09-03 14 views
7

का उपयोग कर सफारी ब्राउज़र में काम न करें हाय मै मैक ओएस एक्स पर सफारी पर परीक्षण के लिए सेलेनीज़ कमांड निष्पादक के साथ सेलेनियम स्टैंडअलोन सर्वर का उपयोग कर रहा हूं। मुझे विशिष्ट पृष्ठों पर कुछ बटन क्लिक करने में समस्याएं आ रही हैं। वही क्लिक फ़ायरफ़ॉक्स (विंडोज), क्रोम (विंडोज + मैक), आईओएस सिमुलेटर, आईई जैसे अन्य ब्राउज़रों में पूरी तरह से काम करते हैं। आईडी के माध्यम से बटन प्राप्त करने में भी सक्षम हूं। बटन टेक्स्ट प्राप्त करके पुष्टि करें: getText()। क्लिक कमांड के बाद केवल कुछ भी नहीं होता है। मैंने बटन.क्लिक(), बटन.submit() का उपयोग करने का प्रयास किया है। बटन खोजने के लिए आईडी, एक्सपैथ, कक्षा का भी इस्तेमाल किया। जैसा कि मैंने उल्लेख किया है: मैं आईडी प्राप्त करने में सक्षम हूं, बस क्लिक नहीं कर रहा है। कोई सुझाव? कुछ कोड है:कुछ क्लिक करें सेलेनियम स्टैंडअलोन सर्वर

public static WebDriver getSafariDriver() 
    { 
     try 
     { 
      DesiredCapabilities capabilities = new DesiredCapabilities(); 
      capabilities.setBrowserName("safari"); 
      capabilities.setJavascriptEnabled(true); 
      CommandExecutor executor = new SeleneseCommandExecutor(new URL("http://localhost:4444/"), new URL("http://www.google.com/"), capabilities); 
      WebDriver driver = new RemoteWebDriver(executor, capabilities); 
      return driver; 
     } catch (MalformedURLException e) 
     { 
      e.printStackTrace(); 
     } 
     return null; 
    } 

क्या कमांड प्रॉम्प्ट के माध्यम से कोई कामकाज है? या कुछ और जो मैं कोशिश कर सकता हूं या गायब हूं? कृपया मदद करे।

+0

मैं भी सामना करना पड़ रहा हूँ एक ही मुद्दा। यह विंडोज और मैक सफारी दोनों पर होता है। –

उत्तर

0

जावास्क्रिप्ट निष्पादक

WebElement yourelement= driver.findElement(By.id("btn")); 
JavascriptExecutor executor = (JavascriptExecutor)driver; 
executor.executeScript("arguments[0].click();", yourelement); 
0

मैं एक ही समस्या थी आज़मा कर देखें। डिबगिंग के लंबे समय बाद मुझे पता चला कि समस्या यह थी कि सफारी ने बाध्यकारी होने से पहले जेएस पूरी तरह से लोड नहीं किया था इसलिए मुझे परीक्षण करने से पहले पगेलोड के बाद लंबे समय तक इंतजार करना पड़ा।

मैं सर्वर पक्ष ने बटन (प्रतिक्रिया घटक) प्रस्तुत किया लेकिन दस्तावेज़ तैयार होने पर बटन का कार्य लागू किया गया था।

0

मैं सफारी 10+, OSX एल कैप्टन के साथ एक ही मुद्दा है और सेलेनियम था 3.0.1

एक अन्य विकल्प की वापसी कुंजी पायथन में लागू भेजने के लिए हो सकता है:

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 

driver = webdriver.Safari() 
driver.get('http://localhost:8000') 
element = driver.find_element_by_id("submit") 
element.send_keys(Keys.RETURN) 
संबंधित मुद्दे