Я использую раму selenium, где я проверяю на завершение загрузки трех тегов заголовка с id say head1, head2, head3. Общее время ожидания, за которое я хочу подождать убедитесь, что загрузка всех трех тегов заголовка составляет 12 секунд. Загрузка трех тегов заголовка может произойти либо в любое время 1,2,3,4 ... секунды.Проверка наличия элемента в регулярном временном интервале Selenium
Теперь я хочу регулярно проверять каждые 2 секунды до 12 секунд, чтобы проверить, загружены ли все три тега заголовка, чтобы я мог перейти к другой части кода. Я пробовал несколько кодов, но не смог определить точный код, который соответствует моему требованию.
В приведенном ниже коде содержится ожидание заголовка заголовков для загрузки, который проверяет тег h1 каждые 2 секунды до 12 секунд.
Селен Код
WebDriver driver = new FirefoxDriver();
driver.get("http://URL.com/Sample.jsp");
driver.manage().window().maximize();
Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
.withTimeout(12, TimeUnit.SECONDS)
.pollingEvery(2, TimeUnit.SECONDS)
.ignoring(NoSuchElementException.class);
WebElement foo = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("h1")));
if((driver.findElement(By.id("h1")).getText()).length() >0)
System.out.println("Element Loaded");
else
System.out.println("Element yet to be Loaded");
HTML код
<script type="text/javascript">
myFunction();
function myFunction()
{
setTimeout(function(){populateDiv1();},3000);
setTimeout(function(){populateDiv2();},6000);
setTimeout(function(){populateDiv3();},9000);
}
function populateDiv1()
{
document.getElementById('div1').innerHTML = "<h1 id='head1'>Div1 Loaded</h1>";
}
function populateDiv2()
{
document.getElementById('div2').innerHTML = "<h1 id='head2'>Div2 Loaded</h1>";
}
function populateDiv3()
{
document.getElementById('div3').innerHTML = "<h1 id='head3'>Div3 Loaded</h1>";
}
</script>
</head>
<body>
<div id="div1">
</div>
<div id="div2">
</div>
<div id="div3">
</div>
</body>
Что происходит в приведенном выше коде и как это противоречит тому, что вы хотите? – Seanny123
Извините, что я не могу определить точную функцию и как использовать в соответствии с моими потребностями. Короче, мне нужно проверить наличие элемента в регулярном интервале времени от 2 секунд до 12 секундного таймаут –
Я понимаю вашу проблему, я прошу что происходит в приведенном выше коде. – Seanny123