Python Selenium:如何使用css选择器单击下拉菜单中的链接?

时间:2015-02-24 04:37:50

标签: python css selenium

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")

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

我建议您使用xpath,因为class包含空格。

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

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

//a[.='TEXT']

修改 执行javascript,因为根据OP的评论隐藏了元素

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

打印

  

TEXT