Невозможность открыть ссылку или нажать на текстовую кнопку, чтобы перейти в область reletad на веб-сайте с selenium и python

#python-3.x #selenium #selenium-webdriver #selenium-chromedriver

Вопрос:

код javascript веб-сайта:

 div class="display-actions">==$0
<a class="show-all" href="/acount/previous_orders" data-yslinktracking="mainpage:previous_orders:all_previous_orders">All Previous Orders</a>
 

Здравствуйте, друзья, На сайте есть текст под названием «Все предыдущие заказы». Я хочу нажать на это автоматически, но не смог.
Когда я наведу курсор мыши на этот текст на веб-сайте (Все предыдущие заказы), https://www.websitename.com/acount/previous_orders появится в нижнем углу страницы. Мне нужно найти и щелкнуть ссылку, или может быть другое решение, чтобы щелкнуть этот текст.

Ответ №1:

Посмотрим, сработает ли это:-

 previousOrder = driver.find_element_by_xpath("//a[text()='All Previous Orders']")
driver.execute_script("arguments[0].scrollIntoView(true);",previousOrder)
previousOrder.click()
 

Комментарии:

1. Программа выдает ошибку с именем ElementClickInterceptedException. Выше код только прокручивает окно вниз

2. Исключение ElementClickInterceptedException: щелчок элемента перехвачен: Элемент <класс=»показать все» href=»/acount/предыдущие заказы» данные-yslinktracking=»главная страница:предыдущие заказы:все_превосходные заказы»>… </a> не доступен для клика в точке (697, 6). Другой элемент получит щелчок: <div class=»строка»>…<div class=»строка»></div>

Ответ №2:

Если вы предпочитаете CSS вместо XPATH, вы можете использовать приведенный ниже css_selector :

 a[href='/acount/previous_orders']
 

и нажмите на него вот так :

 ActionChains(driver).move_to_element(WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a[href='/acount/previous_orders']")))
).click().perform()
 

Импорт :

 from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains
 

Комментарии:

1. Я получаю ошибку с именем TimeoutException Я попробовал как 10 секунд, так и 20 секунд цепочки действий(драйвер).move_to_element(WebDriverWait(драйвер, 10 или 20).до тех пор, пока(EC.element_to_be_clickable((По.CSS_SELECTOR, «a[href=’/acount/предыдущие заказы’]»)))). нажмите().выполните()

2. где этот элемент присутствует в пользовательском интерфейсе ?

3. этот элемент доступен в виде текста в нижней части окна «Мои заказы», но когда это окно открывается, в окне предварительного просмотра отображаются тексты об названиях ресторанов, которые были помещены на мышь. Окно предварительного просмотра может помешать процессу щелчка

4. Могу я получить URL-адрес ?

Ответ №3:

код сработал:

 driver.execute_script("window.scrollTo(0, 300)") #move the area
order= driver.find_element_by_xpath("//a[text()='All Previous Orders']")        
order.click()