2017-10-17 93 views
0

我有下面这段代码显示:我怎样才能使硒等到下一个页面加载相同的URL,并且具有相同的字段

driver.findElement(By.id("submit")).sendKeys(Keys.ENTER); 
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS); 
driver.findElement(By.id("search-trigger")).sendKeys(Keys.ENTER); 
driver.findElement(By.id("search-trigger")).sendKeys("Shampoo"); 
driver.findElement(By.id("search-trigger")).sendKeys(Keys.ENTER); 

我要搜索产品和搜索选项之前和之后登录页面,但在这里,我想以后登录页面 我用

driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS); 

做到这一点,但它不工作,我不能使用

WebElement “”= driver.findElement(By.id("")); 

的搜索选项是两个页面 上和网址仍然登录也

回答

0

按我的理解后相同,总之,要确保用户搜索一个产品之前已经登录。然而,你将无法使用WebElement“”= driver.findElement(By.id(“”));

你尝试明确等待的用户名/注销文本的存在...等

WebElement element = wait.until(ExpectedConditions.elementIsVisible(By.id(>someid>))); 

下面为我工作,试图在flipkart登录后,搜索三星:

public static void f() throws InterruptedException 
{  
    By signin = By.xpath(".//*[@id='container']/div/header/div[1]/div[1]/div/ul/li[9]/a"); 
    Thread.sleep(2000); 
    By mobile = By.xpath("html/body/div[2]/div/div/div/div/div[2]/div/form/div[1]/input"); 
    By password = By.xpath("html/body/div[2]/div/div/div/div/div[2]/div/form/div[2]/input"); 
    By login = By.xpath("html/body/div[2]/div/div/div/div/div[2]/div/form/div[3]/button"); 
    By myaccount = By.xpath(".//*[@id='container']/div/header/div[1]/div[1]/div/ul/li[8]/a"); 
    By search = By.xpath(".//*[@id='container']/div/header/div[1]/div[2]/div/div/div[2]/form/div/div[1]/div/input");  
    //geko driver for firefox 
    System.setProperty("webdriver.gecko.driver", "path of geckodriver.exe"); 
    System.setProperty("webdriver.chrome.driver", "path of chromedriver.exe"); 
    driver = new ChromeDriver(); 

    driver.get("https://www.flipkart.com/"); 
    driver.findElement(signin).click();; 
    driver.findElement(mobile).sendKeys("xxxxxxxxx"); 
    driver.findElement(password).sendKeys("xxxxxxxx"); 
    driver.findElement(login).click(); 

    WebDriverWait wait = new WebDriverWait (driver, 10); 
    wait.until(ExpectedConditions.elementToBeClickable(myaccount)); 
    driver.findElement(search).sendKeys("samsung");  
} 
相关问题