2016-03-29 139 views
0

我想從其他選項列表中選擇「seltarget」。Python Selenium:通過鏈接文本找不到元素

HTML: <div class="filter-item" data-reactid=".3.1.0.0.1.0.0.3.0.0.0.3">seltarget</div>

當導出python文件也建議我與XPath定位元素: driver.find_element_by_xpath("//div[@id='quickswitcher']/div/nav/ul/li/div/div/menu/div[2]/div/div/div/div[5]").click()

這是工作的時間是因爲「seltarget」恰好是第5在列表中。上面的行將選擇列表中的第五個選項。我想要更具體一些,並選擇元素「seltarget」

+0

見http://stackoverflow.com/questions/5441680/css-selector-based-on-element-text您可以通過reactid選擇或跨度添加到您的seltarget – TheoretiCAL

回答

1

如果您想通過其文本找到div,可以使用以下命令。

driver.find_element_by_xpath("//div[text()='seltarget']") 
4

定位link_text只適用於<a>標籤。要找到這些元素,你可以使用類,如果它獨特的

driver.find_element_by_class_name('filter-item').click() 

還是data-reactid屬性

driver.find_element_by_css_selector('[data-reactid*="3.1.0.0.1.0.0.3.0.0.0.3"]').click() 

要通過文本查找您也可以使用css_selector

driver.find_element_by_css_selector('div:contains("seltarget")').click() 

或者xpath

driver.find_element_by_xpath('//div[contains(text(), "seltarget")]').click() 
+0

我能夠選擇「 seltarget「通過找到它的'data-reactid'來定位它。 我仍然希望能夠通過它的名稱來選擇它:「seltarget」 列表中的所有選項都有'class =「filter-item」' 任何其他建議? – Chris

+0

@Chris我通過文本添加了選項 – Guy

相關問題