2017-12-28 6 views
0

過ぎてコピーし、単純なテキストを過ぎて所望の出力が得られない以下のあなたが成功したテキスト値を選択することができ、かつ問題がある場合は私のコードセレンアクションクラスは、私がコピーしようとしているテキスト

public class practiceExample2 { 

    public static void main(String[] args) { 
     System.setProperty("webdriver.chrome.driver", "G:\\TopsAssignment\\SampleJavaExample\\lib\\chromedriver.exe"); 
     WebDriver driver = new ChromeDriver(); 
     driver.manage().window().maximize(); 

     driver.get("https://www.facebook.com/"); 
     WebElement elm1 = driver.findElement(By.id("email")); 
     WebElement elm2 = driver.findElement(By.id("pass")); 
     Actions cpypast = new Actions(driver); 


     Action write = cpypast.sendKeys(elm1, "Pratik").build(); 
     Action select = cpypast.doubleClick(elm1).build(); 
     Action copy = cpypast.sendKeys(elm1, Keys.CONTROL).sendKeys(elm1, "C").build(); 
     Action past = cpypast.sendKeys(elm2,Keys.CONTROL).sendKeys(elm2,"V").build(); 
     write.perform(); 
     select.perform(); 
     copy.perform(); 
     past.perform(); 

     String str = elm2.getText(); 
     System.out.println(str); 

     driver.close(); 

    } 

} 
+0

は、なぜあなたは 'Actions'クラスを使用しようとしている、それがうまく機能Robotクラスで試してみましたか? – DebanjanB

+0

返信いただきありがとうございます。 Robotクラスとうまく動作します – pratik22

答えて

0

は、私はあなたが `強力`クリック()を呼び出すことができたときに

public class practiceExample2 { 

public static void main(String[] args) throws AWTException { 
    System.setProperty("webdriver.chrome.driver", "G:\\TopsAssignment\\SampleJavaExample\\lib\\chromedriver.exe"); 
    WebDriver driver = new ChromeDriver(); 
    driver.manage().window().maximize(); 

    driver.get("https://www.facebook.com/"); 
    WebElement elm1 = driver.findElement(By.name("firstname")); 
    String test = elm1.getText(); 
    System.out.println(test); 


    WebElement elm2 = driver.findElement(By.name("lastname")); 


    Actions cpypast = new Actions(driver); 
    cpypast.sendKeys(elm1,"Pratik").doubleClick().contextClick().build().perform(); 

    Robot rb = new Robot(); 
    rb.keyPress(KeyEvent.VK_DOWN); 
    rb.keyRelease(KeyEvent.VK_DOWN); 
    rb.keyPress(KeyEvent.VK_DOWN); 
    rb.keyPress(KeyEvent.VK_ENTER); 
    rb.keyRelease(KeyEvent.VK_DOWN); 
    rb.keyRelease(KeyEvent.VK_ENTER); 

    Actions cpypast1 = new Actions(driver); 

    cpypast1.contextClick(elm2).build().perform(); 

    rb.keyPress(KeyEvent.VK_DOWN); 
    rb.keyRelease(KeyEvent.VK_DOWN); 
    rb.keyPress(KeyEvent.VK_DOWN); 
    rb.keyPress(KeyEvent.VK_ENTER); 
    rb.keyRelease(KeyEvent.VK_DOWN); 
    rb.keyRelease(KeyEvent.VK_ENTER); 

    String str = elm2.getText(); 
    System.out.println(str); 

    driver.close(); 

} 

}

0

です

Action copy = cpypast.sendKeys(elm1, Keys.CONTROL).sendKeys(elm1, "C").build(); 

は、代わりにこのコードを使用します:のみ 'コピー' と 'ペースト' に、あなたは

問題のラインuseful-この解決策を見つけるかもしれない

Action copy = cpypast.sendKeys(Keys.CONTROL).sendKeys("C").build(); 
+0

あなたの提案をありがとう – pratik22

関連する問題