Нажав на конкретный элемент в выпадающем списке - PullRequest
0 голосов
/ 02 апреля 2019

У меня проблемы с автоматическим выбором значения из выпадающего списка, у которого нет выбранного типа.Я хотел бы выбрать и щелкнуть значение «Ежеквартально» в раскрывающемся списке «Тип заявления», но ничего не помогло.Вот где я сейчас нахожусь:

Вот HTML:

<div class="rf_ctl2_opt">

    <div class="dropdownButton">
        <li id="menu_A" class="r_dd1" onclick="showDropdown1(event,this);">

            <a class="r_ddh1" id="type">
                Annual

            </a>
            <ul>
                <li>
                    <a href="javascript:SRT_stocFund.ChangeFreq(12,'Annual');">Annual</a>
                </li>


                <li>
                    <a href="javascript:SRT_stocFund.ChangeFreq(3,'Quarterly')" ;="">Quarterly</a>
                </li>
            </ul>
        </li>
    </div>


Вот код, который у меня пока есть:

from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://financials.morningstar.com/balance-sheet/bs.html?t=XNAS:AAPL&region=usa&culture=en-US")
import time
time.sleep(2)
driver.find_element_by_id("menu_A")
driver.find_element_by_link_text("Quarterly")

И этокод ошибки, который я получаю:

selenium.common.exceptions.NoSuchElementException: Сообщение: такого элемента нет: невозможно найти элемент: {"method": "текст ссылки", "селектор": "Quarterly"}

1 Ответ

0 голосов
/ 02 апреля 2019

Поскольку раскрывающийся список не относится к типу Select, необходимо сначала щелкнуть раскрывающееся меню с помощью:

driver.find_element_by_id("menu_A").click()

И вы можете нажать на ежеквартальный вариант, как:

driver.find_element_by_xpath("//a[text()='Quarterly']").click()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...