当前位置: 首页 > 知识库问答 >
问题:

在页面完全加载之前,无法单击webelement

满自明
2023-03-14

我正在使用selenium页面对象模型下面是问题场景我正在使用below命令点击一个元素

driver.findElement(by.xpath(“xxxxxxx”)).click();

当代码执行上面的行时,在浏览器中已经执行了单击,一个新的页面开始加载,但是代码在上面的行处停留直到整个页面加载。在页面完全加载之前,我无法在任何webelemnet上执行任何操作。下面是代码:

WebElement元素=driver.findElement(by.xpath(“.//*[@id='lll-menu-1']/div[1]/ul/li[4]/a”));

JavascriptExecutor executor=(JavascriptExecutor)驱动程序

executor.executescript(“arguments[0].click();”,element);在这一行之后,代码一直停留在这里,直到页面完全加载

WebElement elem=driver.findElement(by.xpath(“.//img[@alt='cool racerback-regular']”));

elem.click();

共有1个答案

谯嘉懿
2023-03-14

您可以尝试使用:

 WebDriverWait wait = new WebDriverWait(driver, 10);
 wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("YOUR ELEMENT XPATH")));
 类似资料:
  • 我试过下面的方法,但效果不理想。

  • 问题内容: 我使用AJAX在页面A上显示页面B的内容。 如何在内容显示之前让jQuery等待所有内容加载(文本,图像等)? 当处理AJAX请求时,我使用beforeSend向用户显示加载动画。现在,我想“延长”等待时间,以便在加载所有图像之前加载动画不会消失。 我最初尝试隐藏附加数据,等待所有图像加载,然后显示内容- 内部但事件似乎没有触发。 有任何想法吗? 更新: 更新的代码: 问题答案: 您必

  • 我有一个方法,可以为WebView的WebEngine设置一个新的网页,需要等到网页加载完成后才能继续使用当前方法。 基本上我想要: 我尝试过使用ChangeListener(),但它只会在我的方法完成执行后执行。我在谷歌上搜索了许多导致更多挫折感的术语,比如“java非阻塞等待布尔值”。最终,我成功地启动了新线程(以防止应用程序GUI锁定)并使用了倒计时(与Thread.join()相反)。下面

  • 我必须从网页上阅读某个领域的内容。有人告诉我,我需要获取整个页面,然后从html内容中提取文本。我使用以下程序来获取所需的页面html内容。现在的问题是,这个网页需要几秒钟的时间来加载我想要读取的实际文本值,即使其他静态页面组件都是在前面加载的。我的程序在静态组件加载之后,但在我的值加载之前,返回html内容。因此,我得到的最终HTML具有页面加载过程pic,而不是实际值。有没有人可以指导我在这个

  • 我必须从网页上阅读某一领域的内容。我已经被告知,我需要获得整个页面,然后从html内容中提取文本。我正在使用下面的程序来获取所需的页面html内容。现在的问题是,这个网页加载我想要读取的实际文本值需要几秒钟的时间,即使前面加载了其余的静态页面组件。我的程序在静态组件加载之后但在我的值加载之前返回html内容。因此,我得到的最终HTML有页面加载过程pic,而不是实际值。有没有人可以指导我在这个程序

  • 问题内容: 我的网页上有一个Google地图,上面有一个我自己建立的搜索窗格,可以随意显示和隐藏。它的覆盖范围可以说是说一面地图的200像素。问题是,当我调整地图大小时,或窗格重叠的区域未渲染,即由于某种原因地图未渲染。 在Box中,输入OMDB(这是机场的ICAO代码),然后按Enter。 结果显示出来,您会看到窗格。现在单击全屏链接,然后单击“机场”选项卡以使面板消失- 您现在看到地图的一部分