findBy找到元素,但点击无效,不报错

有时候,元素明明已经找到了,使用click()就是无法触发点击事件,也不报错。下面告诉大家这种场景的解决方案

第一种:元素里有href属性,属性为JavaScript。/元素无属性,但整体的div有JS修饰。这类元素需要用js点击。

 

操作代码:

              driver= new InternetExplorerDriver();

              Element el = driver.findElement(By.xpath(“.//*[@id='menu']/div/ul/li[1]/a”))

              JavascriptExecutor js = (JavascriptExecutor) driver;

              js.executeScript("arguments[0].click();",el);

 

第二种:元素里有href属性,属性为超链接。这类元素无法点击时,需要获得元素连接,执行打开这个连接地址。

操作代码:

                 driver= new InternetExplorerDriver();

                 Element el = driver.findElement(By.xpath(“.//*[@id='contentul']/li[1]/div/div[1]/a”))

                 String url = el.getAttribute("href");

                 driver.get(url);

 

第三种:元素属性正常,没有特殊标签,但是click()就是无法点击,这时需要给元素进行Enter操作。

操作代码:

              driver= new InternetExplorerDriver();

              Element el = driver.findElement(By.xpath(“.//*[@id='payMobileConfirm']”))

              el.sendKeys(Keys.ENTER);
 

你可能感兴趣的:(Selenium)