Как мне написать текст, используя Selenium / Python в этом html - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь вставить текст в следующее поле, но там написано, что с ним нельзя взаимодействовать

<div class="col-md-6">
<div id="tagsReview" class="p4-autocomplete" style="width: 179px; border-radius: 4px;">
<ul class="p4-autocomplete-labels"></ul><input type="text"><ul class="p4-autocomplete-suggestions" style="width: 179px; display: none;">
<li class="newItem selected"><a>Criar novo marcador</a></li>
</div>

Я пробовал разные подходы, но ни один из них не работал.

Есть идеи? Tks!

РЕДАКТИРОВАТЬ:

Этот код работает, чтобы щелкнуть в текстовом поле: driver.find_element_by_id('tagsReview').click()

Отправить ключи для этого идентификатора не работают:

driver.find_element_by_id('tagsReview').send_keys('xyz')
selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
  (Session info: chrome=83.0.4103.61)

Другие попытки:

driver.find_element_by_xpath("(//*[contains(@class,'p4-autocomplete')])").send_keys('xyz')
selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
  (Session info: chrome=83.0.4103.61)

driver.find_element_by_class_name('p4-autocomplete-labels').click()
selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
  (Session info: chrome=83.0.4103.61)

driver.find_element_by_class_name('p4-autocomplete').click()
selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <div id="tagsSearch" class="p4-autocomplete" style="float: right; margin-top: -5px; width: 179px;">...</div> is not clickable at point (1254, 224). Other element would receive the click: <div id="dlgCreateNextReview" class="modal in" tabindex="-1" style="display: block;">...</div>
  (Session info: chrome=83.0.4103.61)

Ответы [ 2 ]

0 голосов
/ 27 мая 2020

Я только что решил с помощью driver.find_element_by_xpath ("// * [@ id = 'tagsReview'] / input")

0 голосов
/ 26 мая 2020

send_keys работает для полей ввода: поскольку вы пробовали добавлять div текста, это не работает.

Вы можете попробовать это (используется javascript):

driver.execute_script("document.querySelector('#tagsReview').innerText = 'XYZ';")
...