selenium+java,报错,找不到元素等各种错误解决方法

一:selenium+java,报错:java.lang.NullPointerException,ElmentNotFoundException

java.lang.NullPointerException:一般报空指针错误,说明元素没找到,可能是定位不正确

ElmentNotFoundException:原因是程序执行太快,元素还没出现,需要等待元素出现,这时候可以试一下Thread.sleep()方法,如果成功,再用智能的wait方法来解决问题。

二、因为iframe定位不到元素,也找不到iframe name,则用firebug,找到对应iframe,右键复制xpath,实现方法有两种:

1、WebElementiframe=driver.findElement(By.xpath("/html/body/div[5]/div/div[3]/iframe[2]"));

driver.switchTo().frame(iframe);

2、或直接从firebug中找到该iframe的name,用以下方法实现:

driver.switchTo().frame("iframe10"); //iframe10是此iframe的name

三:selenium报错:Error near line 0: End of document expected.

原因是:yaml文件格式不正确,检查一下冒号等是否正确,是否为英文。

四:testng的默认执行顺序是按照方法首字母顺序

五:checkbox或radiobox有时会定位不成功,原因是如下图左边按钮和右边文字“特定用户”的xpath分别为:.//*[@id='target_user']/div[1]/label/div/ins和.//*[@id='target_user']/div[1]/label,若用左边的按钮定位并点击,则找不到元素,用右边的文字并点击就能成功;

你可能感兴趣的:(selenium+java,报错,找不到元素等各种错误解决方法)