下拉菜单中的 Selenium python select 项目不可见并使用 aria

Selenium python select item in dropdown menu that is not visible and uses aria

我在 python 中使用 selenium 来尝试点击下拉菜单。但是,下拉菜单产生的选项在网页的源代码中是不可见的。

我无法找到一种方法让我 select 在下拉列表中按名称添加一个项目。

到目前为止,我能够登录并单击菜单以生成下拉菜单:

courses = driver.find_element_by_link_text("Select a course...").click()

但是在这之后,我不确定如何访问和单击上述点击产生的元素。

这是激活下拉菜单的 HTML 片段。

<a class="d2l-menuflyout-opener d2l-clickable" onclick="return false;" aria-haspopup="true">
<span class="d2l-menuflyout-text d2l-menuflyout-emphasis">Select a course...</span><span class="d2l-menuflyout-arrow d2l-menuflyout-arrow-open d2l_1_41_179"></span><span class="d2l-menuflyout-arrow d2l_1_40_548 d2l-menuflyout-arrow-closed"></span>

这是调用 .click() 后菜单的屏幕截图。

screenshot

菜单打开后,我不确定如何 select 我想要的菜单,因为我不知道选项的值或 ID 是如何存储的,因为它不在源代码中。

您在 htmlSelect 课程中分享的内容... 不是 link 文本,它位于 span 标签,你需要尝试替代

driver.find_element_by_xpath(".//a/span[contains(text(),'Select a course')]").click()