1.定位元素的ID是动态的
解决:1).可以通过定位父节点或兄弟元素间接定位。
2).可以通过contains或starts-with模糊匹配。
具体格式如下:
//div[contains(@id,'rt_rt_1b2q')]
//div[starts-with(@id,'rt_rt_1b2q')]
//div[ends-with(@id,'rt_rt_1b2q')]
2.页面元素加载不出来,点击不到元素。
1)。需要设置等待,可以是Wait Until Element Is Visible,或Set Selenium Implicit Wait ,最笨的就是sleep。
3.上一个用例设置的变量不生效了,这时需要声明全局变量,set global variable。
4.增加窗口后定位不到指定元素
例如当进入到京东,点击电脑时,这时会另外打开一个窗口,这时如果你直接定位元素,默认会在第一个窗口定位,这时需要选择第二个窗口了,使用 select window 关键字。代码如图:
tips:get from list是Collections库里的关键字,使用时 ,先导入这个库。