0
有没有办法(如果使用Java)刷新已经陈旧的现有元素。就像我有一个Angular应用程序,它可以删除并重新添加一个元素。有时候这会导致竞争状态,并使我处于一种陈旧的状态。我想避免睡眠让事情减慢,但是,我对每500毫秒或更长时间尝试的事情都很满意。我看到foundBy,但当我尝试类似如果我没有原始XPath,如何刷新陈旧的Selenium元素
driver.findElement(By.xpath(element.foundBy))
但这不起作用。如果我不确定最初使用什么xPath,我该如何刷新?
您是否尝试过使用ExpectedCondition与WebDriverWait - visibilityOf(WebElement) - https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/ selenium/support/ui/ExpectedConditions.html#visibilityOf-org.openqa.selenium.WebElement-您可以在WebDriverWait构造函数中设置轮询时间和超时时间。 – Grasshopper
那么,如果它在页面上,但需要滚动才能看到呢?另外,如果元素陈旧,并且我没有上次用于抓取原始查询的元素,我该如何刷新该元素。 – Jackie
将XPATH存储在一个字符串中,随身携带。我的意思是在全球范围内宣布字符串。如果您处理可能导致陈旧的实例,我们可能会使用该字符串来构建新的webelement。 –