Python Selenium:如何在带有 css 选择器的下拉菜单中单击 link?

Python Selenium: How do I click a link in a drop down menu with css selector?

HTML 看起来像这样:

<span class="MenuIcons searchButton"></span>
    ... (some stuff)
    <a data-bind="" url="/ParagonLS/Search/Property.mvc/Index/1" tabdescription="RESIDENTIAL" subtabdescription="Criteria" subtabmaxallowed="3" targetex="" rel="" class=" SearchByClass1 " subtabgroup="true" subtabgroupadd="true" subtabstartindex="0" fullwindow="False" hideaddressbar="False">TEXT</a>

我可以使用以下方法获取跨度:

driver.find_element_by_css_selector(".MenuIcons.searchButton")

但由于 span 是一个下拉菜单,我需要进入内部元素,但不知道如何,因为它的 class 名称周围有空格。我该怎么办?

我建议您改用 xpath,因为 class 包含 space。

//a[contains(@class,'SearchByClass1')]

基于文本的搜索也是另一种可能性。

//a[.='TEXT']

编辑 执行 javascript 因为根据 OP 的评论

隐藏了元素
test = driver.execute_script("return document.querySelector(\"a[class*='SearchByClass1']\").innerHTML;");
print(test)

打印

TEXT

import time
driver.find_element_by_css_selector(".MenuIcons.searchButton").click()
time.sleep(1)
driver.find_element_by_partial_link_text("TEXT").click()

您可以执行此操作并单击 link。