在selenium webdriver中找不到的元素被赋予了正确的xpath

时间:2014-03-01 15:11:43

标签: java selenium xpath

我刚接触硒,刚开始学习。我正在使用chromdriver作为我的程序。

程序:

package WebDriver;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class SamplePjt {

    public static void main(String[] args) throws InterruptedException {


        System.setProperty("webdriver.chrome.driver","C:\\Users\\YATHEESH\\Desktop\\chromedriver.exe");
        WebDriver a = new ChromeDriver ();
        a.get("http://cspportal.protechsoftsystems.com");
        a.findElement(By.xpath("//*[@id='a_sectionSignIn1']")).click();
        a.findElement(By.xpath("//*[@id='txtUserName1']")).sendKeys("auto1@gboxz.com");
        a.findElement(By.xpath("//*[@id='txtPinText1']")).sendKeys("test");
        a.findElement(By.xpath("//*[@id='Section_SignIn_1']/div[5]/div[2]/input")).click();
        a.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS);
        a.findElement(By.xpath("//*[@id='txtLine1Addr']")).sendKeys("123 easy st");
        a.findElement(By.xpath("//*[@id='txtCityAddr']")).sendKeys("Little Rock");
        a.findElement(By.xpath("//*[@id='txtStateAddr']")).sendKeys("Arkansas");
        a.findElement(By.xpath("//*[@id='txtZipCode']")).sendKeys("72211");
        a.findElement(By.xpath("//*[@id='txtOfficePhoneNumb']")).sendKeys("9999999999");
    a.findElement(By.xpath("//*[@id='divMailingAddress']/div[4]/button")).click();
    }
}

我得到No such element found,而程序在超时后读取 - 即使我给出了正确的xpath,

a.findElement(By.xpath("//*[@id='txtLine1Addr']")).sendKeys("123 easy st");
        a.findElement(By.xpath("//*[@id='txtCityAddr']")).sendKeys("Little Rock");
        a.findElement(By.xpath("//*[@id='txtStateAddr']")).sendKeys("Arkansas");
        a.findElement(By.xpath("//*[@id='txtZipCode']")).sendKeys("72211");
        a.findElement(By.xpath("//*[@id='txtOfficePhoneNumb']")).sendKeys("9999999999");
    a.findElement(By.xpath("//*[@id='divMailingAddress']/div[4]/button")).click();

请给我这个问题的解决方案。

1 个答案:

答案 0 :(得分:0)

你说你在这个网页上寻找 xpath :view -

http://cspportal.protechsoftsystems.com/

我打开了此页面,被重定向到:

http://cspportal.protechsoftsystems.com/Applications/ServiceProvider/Home/Home.aspx

在快速检查源代码( CTRL + F for txtLine1Addr)之后,它根本找不到任何带有该ID的内容。

因此您的xpath正在寻找页面中不存在于源代码中的ID。但我发现该页面上有一种幻灯片播放和其他javascript内容,你想测试的html是否可能异步加载?如果是这样,你必须先等待这些元素的存在