我有一个HTML元素,如下所示:

<a class="country" href="/es-co">
    Columbia
</a>

如何根据内容“Columbia”选择锚定元素?我不能使用find_element_by_class_css_selector,因为a.country表示六个元素。如何选择该元素并使用Python中的Silenium单击它(通过IE,如果它有任何方向性的话)?
顺便说一下,我可以有任何数量的链接与相同的文本和CSS选择器。矽是如何区分的?

最佳答案

没有find_element_by_class_css_selector。但你是对的,你不能用类名。
最好的方法是使用href="/es-co",如果它是唯一的。

find_element_by_css_selector("a[href='/es-co']")

否则可以使用XPath通过文本找到
find_element_by_xpath(".//a[contains(text(), 'Columbia')])

如果有许多链接具有相同的定位器,则可以直接通过XPath或Selenium返回的列表对它们进行索引。
例如,如果您有10个Columbia
find_element_by_xpath(".//a[contains(text(), 'Columbia')][10]") # one-based index, one element only
find_elements_by_xpath(".//a[contains(text(), 'Columbia')]")[9] #  find_elements_* gives you zero-base index list

10-01 13:26