Selenium查找Sub-Child href元素

时间:2016-06-06 22:01:43

标签: python html selenium web-scraping

我正在尝试使用selenium单击以下链接。

<div id="RECORD_2" class="search-results-item">
      <a hasautosubmit="true" oncontextmenu="javascript:return IsAllowedRightClick(this);" class="smallV110" href="#;cacheurlFromRightClick=no"></a>
</div>

在执行代码之前,不知道要单击哪条记录。 Record_2有多个子节点,包含的是我想要点击的子节点。为了隐私起见,编辑链接。我尝试做类似的事情,其中​​name是记录变量,但它不起作用。

driver.find_element_by_css_selector("css=div#"RECORD_%s" % (name).smallV110")

我是硒的完全新手,所以我无法找到解决这个问题的方法。我将不胜感激任何帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

请注意,这不是Selenium IDE,您不需要选择器开头的css=

有多种方法可以找到链接元素,例如:

driver.find_element_by_css_selector(".search-results-item a.smallV110")
driver.find_element_by_css_selector("[id^=RECORD] a.smallV110")  # id starts with "RECORD"

如果您事先知道id值:

id_i_know = 2
driver.find_element_by_css_selector("[id=RECORD_%d] a.smallV110" % id_i_know)

您不必进行smallV110类属性检查 - 我已添加它以增加不匹配a内其他div元素的可能性(不确定它们是什么)是的,你还没有发布整个HTML)。