Невозможно изменить текст между span с Selenium, используя python - PullRequest
0 голосов
/ 28 апреля 2020

Я автоматизирую веб-процесс, но столкнулся с проблемой, когда у меня есть форма html с выпадающими кнопками. Я не могу опустить кнопки и изменить значение. Я думал сказать селену, чтобы изменить текст между тегами span, например. <span>SomeText</span>, так как здесь значение будет меняться с помощью выпадающего меню. Проблема в том, что все теги названы одинаково, и я не знаю, как сказать селену, как изменить все значения. Я могу только заполнить поле ввода. Я пробовал css селекторы, find_by_name или class, но не повезло.

1 Ответ

1 голос
/ 28 апреля 2020

Я бы предложил вызвать WebDriverWait () и дождаться element_to_be_clickable () и использовать ниже xpath, чтобы сначала щелкнуть раскрывающийся список, а затем щелкнуть элемент на основе текста.

WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//div[@data-field-name='stage']"))).click()
WebDriverWait(driver,10).until(EC.presence_of_element_located((By.XPATH,"//ul[@class='chosen-results']//li[contains(.,'Closed')]"))).click()

Вам необходимо импортировать следующие библиотеки.

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...