Комбинированный веб-сайт Selenium

Я пытаюсь щелкнуть поле со списком java-скриптов в python, однако если я это делаю нормально, это дает мне ошибку, говоря, что поле со списком скрыто, я запрограммировал автоматический просмотр поля со списком, но он не появляется. Этот параметр в комбинированном поле является подменю, однако, если я выбираю только опцию из реального меню, он работает, но не с параметрами подменю. Это сайт, https://mbsdisclosure.fanniemae.com/PoolTalk2/index.html ,> Расширенный поиск> # then combo box Я ищу опцию подменю для предварительной Mega> Предварительная Mega: Fannie Mae / Ginnie Mae поддерживаемая регулируемая скорость. Благодаря!

One Solution collect form web for “Комбинированный веб-сайт Selenium”

Селен не сможет щелкнуть, поскольку элемент, который вы хотите выбрать, считается невидимым (неактивным). Таким образом, единственный способ (imho) использовать js для решения этой проблемы. Это работало для меня в java:

@Test public void neeededDropdownSelect() throws InterruptedException { driver.get("https://mbsdisclosure.fanniemae.com/PoolTalk2/index.html"); jsClickOnElement("li#tab_1>a>span"); WebElement dropdownMenu = fluentWait(By.cssSelector("span#asSelectedSecType")); dropdownMenu.click(); jsClickOnElement("div[class=\"fg-menu-container ui-widget ui-widget-content ui-corner-all fg-menu-flyout\"] ul[class=\"fg-menu ui-corner-all\"]>li>a[id=\"MEGA_INTERIM\"]"); jsClickOnElement("div[class=\"fg-menu-container ui-widget ui-widget-content ui-corner-all fg-menu-flyout\"] ul[class=\"fg-menu ui-corner-all\"]>li>ul.ui-corner-all a[id=\"MEGA_INTERIM_ARM\"]"); } public WebElement fluentWait(final By locator){ Wait<WebDriver> wait = new FluentWait<WebDriver>(driver) .withTimeout(30, TimeUnit.SECONDS) .pollingEvery(5, TimeUnit.SECONDS) .ignoring(NoSuchElementException.class); WebElement foo = wait.until( new Function<WebDriver, WebElement>() { public WebElement apply(WebDriver driver) { return driver.findElement(locator); } } ); return foo; } ; public void jsClickOnElement(String cssSel){ JavascriptExecutor js = (JavascriptExecutor) driver; StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("var x = $(\'"+cssSel+"\');"); stringBuilder.append("x.click();"); js.executeScript(stringBuilder.toString()); } 

Надеюсь, это поможет вам)

  • Python Selenium click () не работает
  • WebDriverException: Сообщение: «Браузер, кажется, вышел, прежде чем мы могли подключиться. Выход: Ошибка: не указано отображение
  • Может ли ключевое слово robot framework выполняться в консоли python?
  • Python Selenium Exception AttributeError: «Объект« Сервис »не имеет атрибута« процесс »в selenium.webdriver.ie.service.Service
  • Отсутствует файл в скомпилированном py2exe app selenium
  • Как читать данные таблицы с использованием selenium python?
  • Выбор определенных ячеек таблицы в веб-драйвере Selenium (Python)
  • WebDriverException: Сообщение: исполняемый файл geckodriver должен находиться в PATH
  • Python - лучший язык программирования в мире.