Как прокрутить ВВЕРХ до элемента и щелкнуть селеном?

У меня есть сценарий, в котором системе нужно прокрутить ВВЕРХ до веб-элемента на левой панели страницы и щелкнуть, чтобы выполнить другие операции. Я пробовал следующие способы, но ни один из них не работает. Пожалуйста, предложите:

1.

 WebElement element = driver.findElement(By.xpath("element"));
    ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element);
    Thread.sleep(500); 

2.

WebElement element = driver.findElement(By.xpath("element"));
 Actions actions = new Actions(driver);
        actions.moveToElement(ele);
        actions.perform();

person Rahul    schedule 11.09.2019    source источник
comment
Какую ошибку вы получаете?   -  person frianH    schedule 11.09.2019
comment
@frianH: я получаю эту ошибку org.openqa.selenium.NoSuchElementException: нет такого элемента: невозможно найти элемент: {method: xpath, selector: // * [text () = 'some text']}   -  person Rahul    schedule 11.09.2019
comment
Можете ли вы изменить свой локатор на .//*[contains(text(),'some text ')]   -  person work_ishaan    schedule 11.09.2019
comment
@Rahul Ты уверен со своим локатором? похоже, что элемент не найден на страницах. Поделитесь пожалуйста html.   -  person frianH    schedule 11.09.2019
comment
@frianH: он работает нормально, пока элемент не станет видимым, то есть, когда под этим элементом добавляется другой текст, webdriver не может прокрутить до этого желаемого элемента и выполнить действия. К сожалению, html не может быть опубликован, поскольку он является частным.   -  person Rahul    schedule 11.09.2019


Ответы (1)


Вверх или Вниз до scrollIntoView() элемента, который необходимо вызвать WebDriverWait для visibilityOfElementLocated(), и вы можете использовать следующее решение:

((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("element"))));
person DebanjanB    schedule 11.09.2019