Как щелкнуть (элемент React) кнопку, которая не видна до тех пор, пока ее не увидит Inspection (Ctrl + Shift + I) - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть кнопка, которую я должен нажать, но дело в том, что я не могу нажать на нее до тех пор, пока я не увижу ее с помощью инспекции.

Вот Xpath для того же.

//*[@id="react-root"]/section/main/div/header/section/div[1]/div[1]/span/span[1]/button

и полный xpath равен

/html/body/div[1]/section/main/div/header/section/div[1]/div[1]/span/span[1]/button

, а внешний HTML равен

<button class="_5f5mN       jIbKX  _6VtSN     yZn4P   ">GET</button>

Я использовал несколько подходов.

br.find_element_by_xpath(xpath)
br.find_element_by_xpath('//span [@type='button']

, но это говорит, что нет никакого элемента присутствующего. Как я могу щелкнуть по нему с помощью селена?

1 Ответ

0 голосов
/ 21 апреля 2020

Induce WebDriverWait () и presence_of_element_located () и следующий xpath

WebDriverWait(br,20).until(EC.presence_of_element_located((By.XPATH,"//button[text()='GET']"))).click()

Импорт следующих библиотек.

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

Если нормальный webdriver, щелчок делает не работает, тогда побудить javascripts исполнителя.

btn=WebDriverWait(br,20).until(EC.presence_of_element_located((By.XPATH,"//button[text()='GET']")))
br.execute_script("arguments[0].click();", btn)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...