Мне нужно прокрутить внутри раскрывающегося списка

В Selenium я выполнял автоматизацию, но в этом раскрывающемся меню мне нужно щелкнуть элемент, который скрыт. Он прокручивает всю страницу вниз, я хочу, чтобы прокручивалась только конкретная раскрывающаяся страница, а не страница.

HTML-код для полного Div:

<ul class = "dropdown-menu drop_Loc" role = "menu" style = "display: none;" xpath = "1"> <li> 
<a href = "carle_place.aspx" target = "_self"> 
<span class = "icon-fort icon-left" style = "font-size: 40px;padding: 0px 8px;"></span> <span class = "nav_icon_heading">Carle Place</span> 
</a> 
</li> 
<li> 
<a href = "Selling-a-car-cutler-bay.aspx" target = "_self"> 
<span class = "icon2-cutlerbay icon-left" style = "font-size: 24px;padding: 7px 8px;"></span> 
<span class = "nav_icon_heading">Cutler Bay</span> 
</a> 
</li> 
<li> 
<a href = "Daytona.aspx" target = "_self"> 
<span class = "icon-daytona icon-left" style = "font-size: 40px;padding: 0 8px"></span> 
<span class = "nav_icon_heading">Daytona</span> 
</a> 
</li> 
<li> 
<a href = "Fort_lauderdale.aspx" target = "_self"> 
<span class = "icon-fort icon-left" style = "font-size: 40px;padding: 0 8px"></span> <span class = "nav_icon_heading">Fort Lauderdale</span> 
</a> 
</li> 
<li> 
<a href = "Sell-my-car-longwood.aspx" target = "_self"> 
<span class = "icon-orlando icon-left" style = "font-size: 40px;padding: 0 8px"></span> 
<span class = "nav_icon_heading">Longwood</span> 
</a> 
</li> 
<li> 
<a href = "Melbourne.aspx" target = "_self"> 
<span class = "icon-melbourne icon-left" style = "font-size: 40px;padding: 0 8px"></span> 
<span class = "nav_icon_heading">Melbourne</span> 
</a> 
</li> 
<li> 
<a href = "miami.aspx" target = "_self"> 
<span class = "icon-miami icon-left" style = "font-size: 40px;padding: 0 8px"></span> 
<span class = "nav_icon_heading">Miami</span> 
</a> 
</li> 
<li> 
<a href = "Orlando.aspx" target = "_self"> 
<span class = "icon-orlando icon-left" style = "font-size: 40px;padding: 0 8px"></span> 
<span class = "nav_icon_heading">Orlando</span> 
</a> 
</li> 
<li> 
<a href = "St_James.aspx" target = "_self"> 
<span class = "icon-daytona icon-left" style = "font-size: 40px;padding: 0 8px"></span> 
<span class = "nav_icon_heading">St James</span> 
</a> 
</li> 
<li> 
<a href = "Treasure_coast.aspx" target = "_self"> 
<span class = "icon-treasure_coast icon-left" style = "font-size: 40px;padding: 0 8px"></span> 
<span class = "nav_icon_heading">Stuart</span> 
</a> 
</li> 
<li> 
<a href = "Tampa.aspx" target = "_self"> 
<span class = "icon-treasure_coast icon-left" style = "font-size: 40px;padding: 0 8px"></span> 
<span class = "nav_icon_heading">Tampa</span> 
</a> 
</li> 
<li> 
<a id = "last-child-location" href = "West_palm_beach.aspx" target = "_self"> 
<span class = "icon-palm_beach icon-left" style = "font-size: 40px;padding: 0 8px"></span> 
<span class = "nav_icon_heading">West Palm Beach</span> 
</a> 
</li> 
</ul>

Мне нужно прокрутить внутри раскрывающегося списка

я пробовал с этим кодом,

By Stuart = By.xpath("/html[1]/body[1]/div[1]/nav[1]/div[1]/div[2]/ul[1]/li[2]/ul[1]/li[10]/a[1]/span[2]");

JavascriptExecutor je = (JavascriptExecutor) driver;
                WebElement element = driver.findElement(Stuart);
                je.executeScript("arguments[0].scrollIntoView(true);",element);
                Thread.sleep(4000);

Приведенный выше код работает, но он также прокручивает раскрывающийся список, а также веб-страницу.

Пожалуйста, рассортируйте меня, этих парней.

просто примените overflow: auto для элемента меню role = "или его класса

Raphael 31.10.2018 07:33
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
1
3 418
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы также можете использовать класс действий селена для прокрутки, для этого вам нужно будет импортировать его.

import org.openqa.selenium.interactions.Actions;

WebElement menuItem = Driver.findElement(menuItemPath);
Actions action = new Actions(Driver);
action.moveToElement(menuItem);
action.perform();
menuItem.click();
Ответ принят как подходящий

Ваш код правильный, я не обнаружил никаких проблем в вашем коде, он должен прокручиваться, пока этот элемент не станет видимым.

Не используйте абсолютный xpath, рекомендуется всегда использовать динамические пути xpath.

Пожалуйста, попробуйте код ниже,

browser.executeScript('window.scrollTo(0,0);').then(function () {
    page.saveButton.click();
}) 

Вы правы, вы можете дать мне четкое представление? @swapnil wandhe

koushick 31.10.2018 07:48

Другие вопросы по теме