单击下拉列表中的特定项目

时间:2019-04-02 19:02:16

标签: python selenium

我无法从没有选择类型的下拉框按钮中自动选择一个值。我想从标记为“声明类型”的下拉框中选择并单击“季度”值,但是没有任何效果。这是我到目前为止的位置:

这是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”:“ link text”,“ selector”:“ Quarterly”}

1 个答案:

答案 0 :(得分:0)

由于下拉菜单不是Select类型,因此您需要使用以下方法首先单击下拉菜单:

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

您可以单击“季度”选项,例如:

driver.find_element_by_xpath("//a[text()='Quarterly']").click()