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。 –