2016-09-25 6 views
2

Я написал код ниже Junit нажать на ссылку данного Sign In на quikr сайте ниже http://www.quikr.com/.Невозможно нажать на ссылку, используя селен WebDriver Vesrion 3.0.0.beta3

Код работает нормально, без ошибок, но webdriver, похоже, не нажимает на ссылку Sign In на сайте. Пожалуйста, предложите.

Я использую:

ОС: Win10

Slenium WebDriver: Версия 3.0.0.beta3

Firefox браузер версии: 49.0.1

import java.util.concurrent.TimeUnit; 

import org.junit.Test; 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 

public class Quikr { 
    @Test 
    public void loginTest(){ 
     System.setProperty("webdriver.gecko.driver","C:\\Eclipse\\Drivers\\geckodriver.exe"); 
     WebDriver driver = new FirefoxDriver(); 
     driver.get("http://www.quikr.com/"); 
     driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 
     if(!driver.findElements(By.xpath(".//*[@id='responsiveHeader']/div[1]/div[1]/ul/li[4]/a/span[1]")).isEmpty()){ 
      System.out.println("Link present"); 
     }else{ 
      System.out.println("Link not present"); 
     } 
     driver.findElement(By.xpath(".//*[@id='responsiveHeader']/div[1]/div[1]/ul/li[4]/a/span[1]")).click(); 
    } 
} 

ответ

1

Это действительно странно. В этой странице есть что-то, что не позволяет кликам, пока страница полностью загружается ... и она загружает начальную нагрузку, а затем запускает вторую загрузку рекламы. Я не могу найти способ щелкнуть эту ссылку без огромного ожидания. Возможно, есть еще один способ сделать это правильно, но я не могу думать о том, как это сделать. Код ниже работает для меня (но уродливый).

driver.get("http://www.quikr.com/"); 
Thread.sleep(10000); 
driver.findElement(By.cssSelector("span.sign-in")).click(); 

Использование Thread.sleep() не является хорошей практикой, которой следует избегать в 99% сценариев. WebDriverWait является предпочтительным способом ожидания элемента и т. Д.

+0

Я смог нажать ссылку «Войти», используя приведенный выше код. –

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