Исключения Selenium WebDriver - «элемент не взаимодействует» - PullRequest
0 голосов
/ 07 июня 2019

Я пытаюсь выбрать элементы из выпадающего списка, который загружает параметры после нажатия. Я могу добраться до элемента, но не взаимодействовать с ним. Ошибка НЕ ​​из-за неполной загрузки страницы, как большинство связанных вопросов.

Я пытался выбрать элемент по Id, Xpath и с помощью js сделать элемент не скрытым, пока что ни один из них не работал. последнее, что я пробовал, это отправил keys.down, чтобы активировать список ... все равно получаю ошибку "не взаимодействует".

Веб-страница с селектором -

                                        </div>
                                    </div>
                                    <div class="css-1wy0on6 av__indicators">
                                        <span class="css-bgvzuu-indicatorSeparator av__indicator-separator">
                                        </span>
                                        <div aria-hidden="true" class="css-1u02eyf-indicatorContainer av__indicator av__dropdown-indicator">
                                            <svg aria-hidden="true" class="css-19bqh2r" focusable="false" height="20" viewbox="0 0 20 20" width="20">
                                                <path d="M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z">
                                                </path>
                                            </svg>
                                            <span class="sr-only">
                                                Toggle Select Options
                                            </span>
                                        </div>
                                    </div>
                                </div>
                                <input name="organization" type="hidden" value="" />
                            </div>
                        </div>
                    </div>
                </div>
                <div class="row">
                    <div class="col-12 col-md-10 col-lg-8">
                    </div>
                </div>
                <div class="row">
                    <div class="col">
                        <button class="btn btn-primary disabled" disabled="" type="submit">
                            Continue
                        </button>
                    </div>
                </div>
            </form>
        </div>
    </div>

Некоторый код Python, используемый до сих пор -

 elem = driver.find_element_by_name("organization")
js = "arguments[0].style.height='auto'; 
arguments[0].style.visibility='visible';"

 driver.execute_script(js, elem)


 from selenium.webdriver.common.keys import Keys
 elem.send_keys(Keys.DOWN)

 ###not interactable Error

Я ожидаю, что этот пункт позволит мне выбрать или активировать список опций как минимум. Я был успешен в списках, но не этот новый тип.

1 Ответ

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

INPUT, с которым вы пытаетесь взаимодействовать, имеет значение type="hidden", поэтому он не будет виден и не сможет взаимодействовать с использованием Selenium. Я предполагаю, что есть выпадающий список, который не отображается SELECT, пользователь делает выбор, а затем код помещает это значение в скрытый INPUT. Просто игнорируйте скрытые INPUT и взаимодействуйте со страницей, как пользователь, щелкнув раскрывающийся список, затем щелкнув выбранный элемент. Остальные должны позаботиться о себе.

Мы не можем давать больше рекомендаций по локаторам и т. Д., Не добавляя HTML-код страницы, поскольку вы заявили, что сайт находится за учетной записью.

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