背景:
在做打点自动化,需要点击链接后对比服务端日志是否打点正确。
过程:
访问url,点击页面中某个id的元素
问题:
同样的代码在chrome和360极速浏览器上可以正常运行,ie浏览器之前也可以正常运行突然间click就不生效了。元素可以定位成功,但click操作没有生效。
手动试了一下,没有启动selenium时 ie浏览器可以正常点击,启动selenium后 ie浏览器点击无响应
解决办法:
第一种是搜索引擎中常见的解决办法,但是对于我来说并不奏效,大家也可以试一下
第一种:元素里有href属性,属性为JavaScript。这类元素需要用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);