页面刷新时我的网页驱动程序出现问题 场景: 点击第一个按钮,页面刷新。一旦页面刷新,那么驱动程序就无法找到第二个按钮的位置。第二个按钮是保存功能,因此我无法保存该页面。
我在跑步时遇到的错误:
unknown error: Element is not clickable at point (257, 898).
其他元素会收到点击:
<div id="divModel" class="dialog" style="display: block; height: 2037px; width: 1450px;">...</div>
1)有没有解决方案来刷新页面上的变量而不刷新整个页面?
2)有没有解决方法在点击该页面上的第一个按钮位置后找到它?
答案 0 :(得分:0)
首先,我们不清楚您的情况。首先检查刷新页面后Xpath是否正在改变。另一件事可能是你的页面需要一些等待。
尝试以下代码: -
WebElement element= driver.findElement(By.xpath("YOUR XPATH OR ANY LOCATOR"));
WebDriverWait wait = new WebDriverWait(driver, 30);
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated((By) element));
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].click();", element);
最后如果没有任何效果,请尝试使用Thread.sleep(5000);
。
这不是一个好习惯,即使不建议使用Thread.sleep
,但您至少可以尝试一次以确保问题与仅等待相关
答案 1 :(得分:0)
它不是解决方案,它的解决方法是:如果您使用Chrome驱动程序,则使用FF / IE驱动程序。我不久前遇到类似Chrome驱动程序的问题,原来是Chrome驱动程序错误。
此外,如果您使用PO模型,则可以使用@CacheLookup注释:
@CacheLookup
@FindBy(id = "your_id")
private WebElement saveButton;
要应用于WebElements的标记注释以指示它 永远不会改变(也就是说,DOM中的相同实例将始终如此 使用)