pythonselium如何区分class=“muted”按钮?

2024-06-17 18:24:33 发布

您现在位置:Python中文网/ 问答频道 /正文

https://gyazo.com/c018faaba951401f6b0ddef5f1fce650 这里是一个网站的图片和它的html。如您所见,每个选项都有许多class="muted可供选择。(是的,他们是用我的语言写的。)

幸运的是这是第一个^{cl1}$

这不起作用:

emner = browser.find_element_by_class_name('muted')
emner.click()

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


<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>

即: Ure,气压o.l. ›安德烈·莫布勒(Andre møbler og tilbehør)›蒂尔·博利根(Til boligen) 你知道吗


Tags: textnamehttpsdatabindliclassstrong
3条回答
emner = browser.find_elements_by_class_name('muted')

返回list。你知道吗

如果你想点击第一个,你需要打电话

emner[0].click()

你知道吗

您不想单击li元素,而是要单击链接a。试试看

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

我自己找到了解决办法,以下是有效的方法:

最后两行应该是这样的:

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

您可以使用find_elements_by_class_name()查询文档中特定类的所有元素。你会得到一个匹配元素的列表。如果你知道它的索引,你就可以选择正确的一个,或者如果有其他的特征决定哪个是“正确的”,你就可以在它们上面迭代寻找你需要的那个

当然,如果你知道你想要第一个,你只需要使用find_element_by_class_name(),它只得到第一个。你知道吗

详见the documentation。你知道吗

相关问题 更多 >