Python Selenium:无法按链接文本查找元素

时间:2016-03-29 17:26:23

标签: python html selenium-webdriver

我正在尝试从其他选项列表中选择“seltarget”。

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位。上面的行将选择列表中第5个选项。我想更具体一点,选择元素“seltarget”

2 个答案:

答案 0 :(得分: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()

答案 1 :(得分:1)

如果您想通过其文本找到div,可以使用以下内容。

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