اذهب إلى المحتوى

السؤال

نشر (معدل)

كتبت الكود التالي لإجراء إختبار للويب :

    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "C:\\Users\\vikas\\Downloads\\chromedriver.exe");

        WebDriver driver = new ChromeDriver();
        driver.manage().window().maximize();
        driver.get("http://the-internet.herokuapp.com/");
        driver.findElement(By.xpath("(//div[@id='content']/ul)/li[33]")).click();
        driver.findElement(By.cssSelector("a[href*='windows']")).click();
        Set<String> windows = driver.getWindowHandles();
        Iterator<String> it = windows.iterator();
        String parentId = it.next();
        String childId = it.next();
        driver.switchTo().window(childId);
        System.out.println(driver.findElement(By.xpath("//h3[contains(text(),'New Window')]")).getText());
        driver.switchTo().window(parentId);
        System.out.println(driver.findElement(By.xpath("//div[@id='content']/div/h3")).getText());
    }

}

عند تنفيذه يظهر لي الخطأ التالي:

Exception in thread "main" java.util.NoSuchElementException errorusing Selenium and Java

تم التعديل في بواسطة احمد صوالحة

Recommended Posts

  • 0
نشر

تكمن المشكلة في محاولة الدالة لقراءة قيمة لكن هذه القيمة غير موجودة.

و يحدث الخطأ تحديدا في الجزء :

String parentId = it.next();
String childId = it.next();

حيث علينا قبل محاولة القراءة التأكد في حال وجود العنصر أم لا باستخام الشرط:

String parentId = ""; if (it.hasNext()) parentId = it.next();
String childId = ""; if (it.hasNext()) childId = it.next();

وهكذا نحل المشكلة

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...