Как выбрать элемент, которого нет в DOM - PullRequest
0 голосов
/ 25 апреля 2020

Веб-сайт https://account.mail.ru/signup Я пытаюсь занять какую-то позицию в выборе "Дата рождения" - "День". Xpath для расширения выберите «День» //span[text()='День']/ancestor::div[@class='Select-control'] Затем попробуйте выбрать какой-нибудь день, но в POM не существует возможности дня.

Пожалуйста, помогите мне сделать правильный XPATH.

1 Ответ

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

Вы можете попробовать следующий код, чтобы выбрать день из выпадающего списка:

driver.get('https://account.mail.ru/signup')
driver.maximize_window()

wait = WebDriverWait(driver, 20)

wait.until(EC.element_to_be_clickable((By.XPATH, "//div[@id='react-select-2--value']//div[@class='Select-placeholder']"))).click()
element = wait.until(EC.element_to_be_clickable((By.XPATH, "//div[@class='Select-option']//span[contains(text(),'12')]"))).click()

Примечание: , пожалуйста, добавьте ниже импорта в ваше решение

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

Для проверки реагирования выберите выпадающий список

  1. Открыть chrome браузер
  2. Открыть инструмент Dev
  3. Перейти к элементам
  4. Выбрать прослушиватели событий
  5. Выберите размытие
  6. Нажмите удалить в документе

enter image description here

...