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。
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。