下拉菜单中的 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 是如何存储的,因为它不在源代码中。
您在 html
、Select 课程中分享的内容... 不是 link 文本,它位于 span
标签,你需要尝试替代
driver.find_element_by_xpath(".//a/span[contains(text(),'Select a course')]").click()
我在 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 是如何存储的,因为它不在源代码中。
您在 html
、Select 课程中分享的内容... 不是 link 文本,它位于 span
标签,你需要尝试替代
driver.find_element_by_xpath(".//a/span[contains(text(),'Select a course')]").click()