2016-05-02 2 views
0

Я использую phantomjs с WebDriver для тестирования без проблем в Cent OS. Phantomjs.exe для Windows работает отлично. Но когда я делаю баночка файл для Cent OS, приходит ошибки как:PhantomJS 2.1.1: «errorMessage»: «Элемент в настоящее время не виден и не может быть обработан

"errorMessage":"Element is not currently visible and may not be manipulated 

или

Error communicating with the remote browser. It may have died. 

у меня есть следующий код для создания исполняемой баночки для Cent OS:

@Before 
public void setUp() 
{    
    logger.info("Inside setup()."); 
    DesiredCapabilities caps = new DesiredCapabilities(); 
    caps.setJavascriptEnabled(true);     
    caps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, "phantomjs"); 
    driver = new PhantomJSDriver(caps); 
    driver.manage().window().maximize(); 
    logger.info("Exiting setUP()."); 
} 

Я просто поставить примерки поймать блок, чтобы понять брошенную ошибку и обнаружил, что приведенный ниже код является причиной ошибки:

public void goToMyPageAfterLogin() 
{ 
    try 
    { 
     logger.info("Inside goToMyPageAfterLogin()."); 
     driver.manage().window().maximize(); 
     wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//li[@id='header-mypage-top']//a"))); 

     WebElement element = driver.findElement(By.xpath("//li[@id='header-mypage-top']//a")); 
     element.click(); 
     logger.info("Exiting goToMyPageAfterLogin()."); 
    }catch(Exception ex) 
    { 
     ex.printStackTrace(); 
    }  
} 

Это литий элемент не найден в любом случае. Но этот элемент найден, если я выполняю код в среде Windows с помощью phantomjs.exe версии 2.1.1.

+0

Итак, вы можете попробовать другой способ найти этот элемент li. Попробуйте использовать cssSelector –

ответ

Смежные вопросы