解决driver.findElement(By)运行到此处报null指针问题

Posted xiaosi203

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决driver.findElement(By)运行到此处报null指针问题相关的知识,希望对你有一定的参考价值。

1.由于自动化页面上的元素定位太多,主要是通过By来定位,而By提供了id,xpath,name差不多就可以定位到元素

可以使用一个配置文件存储页面上的定位By值,然后从配置文件获取by值,行程by方式与by值的map对

这里遇到一个问题,就是driver.findElement(By)的时候会提示这个结果是void,无法转换成WebElement类型

定位了一下,发现是map.keySet()这个取出键值会去重

设计模式:

配置文件中存储(可理解名字:通过F12看到的name或者id或者xpath路径)

测试用例中准备数据(By的方式比如name/id/xpath:xpath的值)

页面准备定位所有元素方法,Map<String,WebElement> locateElements(测试用例中数据Map,配置文件p)

要注意从配置文件中取出来的值都是String类型,所以不是By值,自然无法定位到元素

 

以上是关于解决driver.findElement(By)运行到此处报null指针问题的主要内容,如果未能解决你的问题,请参考以下文章

seleniu 元素定位与操作

selenium定位失败记录

sellenium页面元素的定位方法

Selenium+Java元素定位之二

selenium学习历程

selenium元素定位(Java)