我正在尝试自动化flipkart网站,其中我正在尝试更改地址,但“添加新地址”未被点击i have attached the snapshot
我的代码就像driver.findElement(By.xpath("//*[@id='ng-app']/div/div[2]/ul/li[2]/div/div[2]/div[2]/div[2]/a/span")).click();
请提供适当的帮助
答案 0 :(得分:1)
我认为你没有点击活动元素,xpath是//*[@id='ng-app']/div/div[2]/ul/li[2]/div/div[2]/div[2]/div[2]/a/span
不正确点击某个范围。
使用Firepath https://addons.mozilla.org/en-US/firefox/addon/firepath/获取xpath。
答案 1 :(得分:0)
确保按钮可点击使用isDisplayed()
和isEnabled()
方法,然后点击"添加新地址"按钮,此方法返回布尔值。
driver.findElement(By.xpath("//*[@id='ng-app']/div/div[2]/ul/li[2]/div/div[2]/div[2]/div[2]/a/span")).isDisplayed();
driver.findElement(By.xpath("//*[@id='ng-app']/div/div[2]/ul/li[2]/div/div[2]/div[2]/div[2]/a/span")).isEnabled();
您还可以使用以下代码
验证页面上是否存在元素if(driver.findElements(byVal).size()!=0){
// Element is present.
}
希望找出问题原因,为什么它不可点击可能会有所帮助。
答案 2 :(得分:0)
首要,请使用自定义的Xpath,而不要使用您直接从浏览器中提取的Xpath。如果无法构造定制的Xpath,则尝试使用定制的CSS或任何其他定位器。
尝试依次进行以下尝试(希望您能理解为什么如此):
1-如果.click()
仍然不起作用,请继续更改用于构造自定义xpath,cssSelector或定位器的属性的值。
2-使用Actions类。
3-使用JavaScript执行程序
4-代替click()
,请尝试使用以下任意一种:.sendKeys(“\n”).
或.sendKeys(keys.ENTER)
或.sendKeys(keys.RETURN)