python-selenium如何区分class =“muted”按钮?

时间:2016-11-12 19:12:41

标签: python selenium

https://gyazo.com/c018faaba951401f6b0ddef5f1fce650 这是网站的图片和它的HTML。正如您所看到的,每个选项都有很多emner = browser.find_element_by_class_name('muted') emner.click() “可供选择。(是的,它们都是我的语言。)

幸运的是,这是第一类=“静音”,这是正确的。但是我怎么告诉python点击那个?如果它不是我需要的第一个呢?

这不起作用:

<li class="muted">
                            <strong><a href="/opret-annonce/?rubrikid=6120" data-bind="text: Name, attr: {href: Url, 'data-ga-act': $parent.analyticsAction, 'data-ga-lbl': Name}, click: $parent.handleClassification" data-ga-act="navigate-from-search" data-ga-lbl="Ure, barometere o.l.">Ure, barometere o.l.</a></strong> <small>
                                <span class="light">›</span> <span data-bind="text: CategoryName">Andre møbler og tilbehør</span> <span class="light">›</span> <span data-bind="text: SectionName">Til boligen</span>
                            </small>
                        </li>

我的视频显示:https://youtu.be/lXAaT-hsGbA

{{1}}

是:                              Ure,barometere o.l。                                 >Andremøblerogtilbehør> Til boligen                                                      

3 个答案:

答案 0 :(得分:1)

emner = browser.find_elements_by_class_name('muted')

返回list

如果您想点击第一个,您需要致电

emner[0].click()

-

您不想点击li元素,而是点击链接a。尝试

emner.find_element_by_xpath(".//a").click()

答案 1 :(得分:0)

您可以使用find_elements_by_class_name()在文档中查询特定类的所有元素。您将获得匹配元素的列表。然后,如果您知道其索引,则可以选择正确的索引,或者如果有其他特征确定哪一个是#34;

,则可以迭代它们寻找所需的索引。

当然,如果您知道自己想要第一个,那么只需使用find_element_by_class_name()即可获得第一个。

有关详细信息,请参阅the documentation

答案 2 :(得分:0)

我找到了自己的解决方案,这是有效的:

最后两行应该是这样的:

emner = browser.find_element_by_link_text('Armbåndsure og lommeure')
emner.click()