Имея большие xpath, такие как это fr agile, сложно ориентироваться. Вы, вероятно, добьетесь большего успеха с меньшим и более точным xpath.
Решение вашей проблемы: Если вы посмотрите на свою ошибку SyntaxError: Failed to execute 'evaluate' on 'Document': The string '/html/body/div[3]/div/div[1]/div[2]/div[2]/div[2]/div[3]/div[' is not a valid XPath expression.
Это не усечено. Это тот xpath, который вы ищете - вы заканчиваете его открытой квадратной скобкой, поэтому он недействителен.
Посмотрите, как сделать эту строку xpath действительной, прежде чем вводить ее в find_by.
[изменить - URL, указанный в комментариях]
Посмотрев на предоставленную страницу, попробуйте:
button = driver.find_element_by_xpath("//input[@class='amscroll-load-button']")
ActionChains(driver).move_to_element(button).click(button).perform()
Это меньший xpath, который идет прямо к объект без навигации по всей DOM.
Когда я запускаю этот xpath, он всегда идентифицирует только 1 объект. Даже если вы щелкнете по нему, и страница переместится, куда бы она ни переместилась, она все равно идентифицирует только одну.
Если вы хотите использовать это, имейте в виду, что при нажатии на нее происходит асинхронная загрузка страницы. Вам также понадобится динамический c ждать, чтобы данные / страница загрузились, прежде чем вы нажмете его в следующий раз. Если вы хотите просто посмотреть, работает ли он, ленивый подход состоит в том, чтобы ввести несколько секунд ожидания / ожидания между командами щелчка. это ресурс. Несколько видеороликов по 10 минут каждое могут избавить от головной боли о том, как получить нужные объекты.