2017-02-24 29 views
1

我想在一個頁面自動化佔位比方說Paytm網站選擇值,使用Action類的任何其他建議不工作時,是否可以使用Java腳本

在主頁上的後付費選項來完成我我選擇使用動作類的運營商佔位如下

WebElement element = driver.findElement(By.xpath(".//*[@id='app']/div/div[3]/div/div[2]/div/div[1]/div[2]/ul/li[2]/div/div[1]/input")); 
     Actions Mouse = new Actions(driver); 
     Actions seriesOfAction = 
       Mouse.moveToElement(element) 
        .click() 
        .keyDown(element,Keys.SHIFT) 
      .sendKeys(element,"Airtel") 
      .sendKeys(element,Keys.ENTER); 
     Action More = seriesOfAction.build(); 
     More.perform(); 

這段代碼不工作, 任何其他建議?使用java腳本?

回答

0

您可以使用下面的代碼來選擇所需選項:

WebDriverWait wait = new WebDriverWait(driver, 10); 
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//span[text()='Customer Care (24x7): 9643-979797']"))); 
WebElement element = driver.findElement(By.xpath("//input[@data-reactid='168']")); 
element.sendKeys('Aircel'); 
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//span[.='Aircel']"))); 
element.sendKeys(Keys.ENTER); 
0

你並不需要在這裏使用Action類。只需等待元素可見,它就會點擊Airtel。 我跑了下面的代碼,試試你的結局。

driver.manage().window().maximize(); 
driver.get("https://paytm.com/billpay"); 
driver.findElement(By.xpath(".//*[@id='input_4']")).click(); 
WebDriverWait wait = new WebDriverWait(driver, 10); 
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath(".//*[@id='searchOperator']/div[2]"))); 
driver.findElement(By.xpath(".//*[@id='searchOperator']/div[2]")).click(); 
Thread.sleep(3000); 

我有使用簡單Wait,你仍然可以使用目前存在的類型的等待下有效硒。

快樂學習:-)使用的等待組合並單擊場

0

,我取得了理想的結果

下面是我的代碼

@Test 
    public void PayTest(){ 



      driver.manage().window().maximize(); 
      driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); 
      WebDriverWait wait = new WebDriverWait(driver, 200); 

      WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.xpath(".//*[@id='app']/div/div[3]/div/div[2]/div/div[1]/div[1]/div[2]/label/span"))); 
      element.click(); 

WebDriverWait wait1 = new WebDriverWait(driver, 200); 

      WebElement element1 = wait1.until(ExpectedConditions.elementToBeClickable(By.xpath(".//*[@id='app']/div/div[3]/div/div[2]/div/div[1]/div[2]/ul/li[1]/div[1]/input"))); 
      element1.sendKeys("9108010400"); 
      // Select select = new Select(
      driver.findElement(By.xpath(".//*[@id='app']/div/div[3]/div/div[2]/div/div[1]/div[2]/ul/li[2]/div/div[1]/input")).click(); 
WebDriverWait wait2 = new WebDriverWait(driver, 200); 

      WebElement element2 = wait2.until(ExpectedConditions.elementToBeClickable(By.xpath(".//*[@id='app']/div/div[3]/div/div[2]/div/div[1]/div[2]/ul/li[2]/div/div[2]/ul/li[2]/span"))); 
      element2.click(); 
      driver.findElement(By.xpath(".//*[@id='app']/div/div[3]/div/div[2]/div/div[1]/div[2]/ul/li[3]/div/div[1]/input")).sendKeys("kar"); 

WebDriverWait wait3 = new WebDriverWait(driver, 200); 

      WebElement element3 = wait3.until(ExpectedConditions.elementToBeClickable(By.xpath(".//*[@id='app']/div/div[3]/div/div[2]/div/div[1]/div[2]/ul/li[3]/div/div[2]/ul/li/span/b"))); 
      element3.click(); 
      driver.findElement(By.xpath(".//*[@id='app']/div/div[3]/div/div[2]/div/div[1]/div[2]/ul/li[4]/div/div/input")).sendKeys("300"); 
      driver.findElement(By.xpath(".//*[@id='app']/div/div[3]/div/div[2]/div/div[2]/div/div[3]/button")).click(); 
相關問題