2014-03-01 94 views
0

我刚刚开始学习硒。我为我的程序使用chromdriver元素在硒webdriver中找不到正确的xpath

程序:

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("[email protected]"); 
     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(); 

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

+0

通常有两个原因。您正在查找的元素位于框架或iframe中,或元素加载缓慢。 – Richard

+0

对于哪些元素你得到这个异常? – Amith

+2

可以分享html页面的代码 – Sighil

回答

0

你说你在这个网页上寻找这个的XPath:视图 -

http://cspportal.protechsoftsystems.com/

我打开这个页面,得到重定向到

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

和在做了源代码的快速检查之后(CTRL + F对于txtLine1Addr)它根本找不到那个id。

因此,您的xpath正在寻找一个ID,该页面的源代码中不存在。但我看到有一种幻灯片发生和其他JavaScript的东西在该页面上,是否有可能你想测试的HTML是异步加载?如果是这样,你将不得不等待这些元素的存在第一

+0

是的,我使用线程睡眠但仍然不能解决这个问题... – user3367541

+0

这个元素将在哪里显示?也许你会在出现之前点击一些东西? – donfuxx

+0

我试过..在加载页面后,我把光标放在地址栏上。这是我的HTML .. – user3367541