java上的.click()方法不起作用
Posted
技术标签:
【中文标题】java上的.click()方法不起作用【英文标题】:.click() method on java not work 【发布时间】:2018-05-24 17:02:50 【问题描述】:我已在此链接“Click() method will not always work”上尝试过脚本 但是 .click() 方法也不起作用
【问题讨论】:
请发布您的无效代码 请发布您的代码和相关的 html 部分,以便利他主义者可以进一步提供帮助 这是我的代码 driver.findElement(By.className("close")).click(); 【参考方案1】:在尝试单击元素之前,请确保页面已完全加载。
new WebDriverWait(firefoxDriver, pageLoadTimeout).until(webDriver ->
((javascriptExecutor) webDriver).executeScript("return document.readyState").equals("complete"));
您还可以添加隐式等待:
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
如果这不起作用,请确保页面已滚动到元素并且没有隐藏元素。
作为最后的手段,您可以尝试.click()
方法的替代方法sendKeys(Keys.RETURN)
【讨论】:
请分享您尝试使用的 html 的一部分。【参考方案2】:如果 web 元素不存在,那么 click() 或 .click() 都不起作用。
所以首先搜索网页上是否存在该元素 如果存在,则使用 click() 别的 使用 WebDriverWait() 等待更多时间。
【讨论】:
【参考方案3】:如果您传递了正确的定位器并且它是可点击的,那么click() 将起作用。
-
尝试使用隐式等待。
检查按钮是启用还是禁用。
ele.已启用;
使用显式等待
wait.Until(ExpectedCondition.ElementIsClickable(By.class("className")));
此链接将帮助您:
Webdriver How to wait until the element is clickable in webdriver C#
【讨论】:
以上是关于java上的.click()方法不起作用的主要内容,如果未能解决你的问题,请参考以下文章
当 .click() 不起作用时,如何以编程方式单击此页面上的按钮?
ios 11.2.x 上的 ionic cordova 中的 Fire click 事件不起作用