最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

java - Selenium Fetching Data from a Child Tab to Parent Tab - Stack Overflow

programmeradmin1浏览0评论

In this program, I want to extract text from a list of WebElements in a child window, return to the parent window, and enter that text into a text field. The program works correctly for the first index, but it does not produce the desired output for any other indexes.

    WebDriver driver = new ChromeDriver();
    
    driver.get("/");
    driver.manage().window().maximize();

    driver.switchTo().newWindow(WindowType.TAB);
    Set<String> handles = driver.getWindowHandles();
    
    Iterator<String> it = handles.iterator();
    String parentWinid = it.next();
    String childwindow = it.next();
    
    driver.switchTo().window(childwindow);
    driver.get("/");
    
   String courseName = driver.findElements(By.cssSelector("a[href*='']")).get(3).getText();
    
   driver.switchTo().window(parentWinid);

   
   driver.findElement(By.cssSelector("[name='name']")).sendKeys(courseName);

In this program, I want to extract text from a list of WebElements in a child window, return to the parent window, and enter that text into a text field. The program works correctly for the first index, but it does not produce the desired output for any other indexes.

    WebDriver driver = new ChromeDriver();
    
    driver.get("https://rahulshettyacademy/angularpractice/");
    driver.manage().window().maximize();

    driver.switchTo().newWindow(WindowType.TAB);
    Set<String> handles = driver.getWindowHandles();
    
    Iterator<String> it = handles.iterator();
    String parentWinid = it.next();
    String childwindow = it.next();
    
    driver.switchTo().window(childwindow);
    driver.get("https://rahulshettyacademy/");
    
   String courseName = driver.findElements(By.cssSelector("a[href*='https://courses.rahulshettyacademy/p']")).get(3).getText();
    
   driver.switchTo().window(parentWinid);

   
   driver.findElement(By.cssSelector("[name='name']")).sendKeys(courseName);
Share Improve this question edited Feb 1 at 1:40 amal asked Jan 31 at 17:14 amalamal 3,60210 gold badges31 silver badges45 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 1

Try Changing the locator . I tried with a simple xpath.

    WebDriver driver = new ChromeDriver();
    
    driver.get("https://rahulshettyacademy/angularpractice/");
    driver.manage().window().maximize();

    driver.switchTo().newWindow(WindowType.TAB);
    Set<String> handles = driver.getWindowHandles();
    
    Iterator<String> it = handles.iterator();
    String parentWinid = it.next();
    String childwindow = it.next();
    
    driver.switchTo().window(childwindow);
    driver.get("https://rahulshettyacademy/");
    
   String courseName = driver.findElements(By.XPATH("//h2/a[contains(@href,'https://courses.rahulshettyacademy/p')]")).get(3).getText();
    
   driver.switchTo().window(parentWinid);

   
   driver.findElement(By.cssSelector("[name='name']")).sendKeys(courseName);

发布评论

评论列表(0)

  1. 暂无评论