Imagine a kanban board UI
to do | inprogress | done
task1 task1 task1
task2 task2 task2
task3 task3 task3
task4 task4 task4
task5 task5 task5
DOM of kanban board:
//--Start--
<iframe id = 'ardafder2312'>
<div class = 'container'>
<div class = 'todo'>
<div class = 'card-title' text='task1'>
<div class = 'card-title' text='task2'>
<div class = 'card-title' text='task3'>
<div class = 'card-title' text='task4'>
<div class = 'card-title' text='task5'>
</div>
<div class = 'inprogress'>
<div class = 'card-title' text='task1'>
<div class = 'card-title' text='task2'>
<div class = 'card-title' text='task3'>
<div class = 'card-title' text='task4'>
<div class = 'card-title' text='task5'>
</div>
<div class = 'done'>
<div class = 'card-title' text='task1'>
<div class = 'card-title' text='task2'>
<div class = 'card-title' text='task3'>
<div class = 'card-title' text='task4'>
<div class = 'card-title' text='task5'>
</div>
</iframe>
//--End--
// Ниже работает фрагмент
switchto(iframe)
WebElement container = driver.findelement(by_xpath("//*[contains(@class,'container')]//*[contains(@class,'todo')]//*[text(),'task1']").click());
Требуется нажмите на «task5» под столбцом «done», используя динамическую функцию , и я собираюсь это сделатьиспользуя поиск концепции в регионе от Sikuli. Найдите родителя и найдите в нем ребенка.
Поэтому ниже была создана функция, в которой мы определяем родительский веб-элемент и ищем дочерний веб-элемент внутри него.
Пожалуйста, дайте мне знать, если это работает или какие-либо изменения должны быть сделаны.
function test(String state, String taskName)
{
WebElement container = driver.findelement(by_xpath("//*[contains(@class,'container')]//*[contains(@class,'"+state+"')]")); //trying to create a region - parent
WebElement task = container.findelement(by_xpath("//*[text(),'task1']")) //trying to search within the container - child of above parent
}
test("done", "task1")
Результат:
Ожидаемый результат: Пользовательдолжен щелкнуть «задача1», доступная в столбце «сделано»
Фактический результат (ВЫПУСК): щелчок происходит по «задаче 1», доступной в столбце «задача».