Ошибка: ElementNotInteractableException в Selenium Python - PullRequest
1 голос
/ 28 июня 2019

У меня проблема с поиском WebElement в Selenium.Я попытался заполнить поле ввода, это HTML:

<div class="container">
            <div class="tp-fl" id="btnSearchStockAutoComplete">
                <span class="tp-icon tp-search tp-co-3 "></span>
            </div>
            <angucomplete placeholder="search" searchfields="Not Found" pause="400" set-focus="tpFocus" selectedobject="tpSelected" titlefield="label" inputclass="form-control form-control-small" matchclass="highlight" api="tpApi" disable="disableSearchBox" stockdetails="stockdetails" class="ng-isolate-scope">
                <div class="tp-re angucomplete-holder tp-width">
                    <div id="fulltextContainer" style="display: none" class="symbol-info tp-etc">
                    </div>
                    <input id="txt_search" class="search-box tp-co-1 tp-pa-rl-5 tp-re tp-bo-bo" type="text" placeholder="Search" onmouseup="this.select();" autocomplete="off">
                    <div id="auto-list-container" class="auto-list-container tp-bg-2 tp-co-1 tp-bo-4 tp-bo tp-width angucomplete-dropdown" style="min-width: 250px; display: none">
                        <div style="display: none" id="loading" class="tp-h-35 tp-pa-rl-10 angucomplete-searching">Searching ...</div>
                        <div style="display: none" id="norecord" class="tp-35 tp-pa-rl-10 angucomplete-searching">Not Found </div>
                        <div id="list_dropdown">
                        </div>
                    </div>
                </div>
            </angucomplete>
        </div>

это мой код на Python:

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

    browser=webdriver.Chrome('path')
    inputTxt=browser.find_element_by_xpath('//*[@id="txt_search"]')
    inputTxt.send_keys('stock')

, но когда я запускаю эту программу, она выдает мне ошибкуи выдает исключение «selenium.common.exceptions.ElementNotInteractableException: Message: element not взаимодействуем», мне было интересно, есть ли какое-либо возможное решение этой проблемы.

1 Ответ

0 голосов
/ 29 июня 2019

Когда вы пишете селектор CSS app-content#txt_search, это означает, что HTML похож на <app-content id='txt_search'>...</app-content>. Объединение без пробела между ними означает, что все они являются частью одного и того же элемента. Вам нужно либо app-content > #txt_search (> указывает на ребенка), либо app-content #txt_search (указывает на потомка). Из HTML-кода, размещенного в вашем вопросе, я предполагаю, что вам нужно пробел, потому что я не вижу родительский тег <app-content>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...