Невозможно выбрать элемент в нижней части длинного меню при наведении, не виден или находится за пределами экрана - PullRequest
0 голосов
/ 21 января 2020

Если веб-страница имеет очень длинное раскрывающееся меню HOVER, с помощью Selenium-Webdriver я могу выбрать любой элемент из этого меню, но если элемент находится в нижней части меню и за пределами видимого экрана, то Selenium не может найдите этот элемент: например,

new Actions(driver2).MoveToElement(driver2.FindElement(By.XPath("//*[@id='54Number']"))).Click().Build().Perform();

Вышеупомянутый элемент находится на 54-й позиции в меню при наведении, поэтому он не выбирается Selenium. Есть ли способ найти такой элемент наведения?

1 Ответ

1 голос
/ 21 января 2020

Вы можете перейти к элементу перед нажатием:

var element = driver.FindElement(By.XPath("//*[@id='54Number']"));
((IJavaScriptExecutor) driver).ExecuteScript("arguments[0].scrollIntoView(true);", element);
element.Click();
...