快速信息:我使用的是macos,python3。在
我有大约800个链接,需要点击一个网页(和更多的网页去,所以需要自动化)。在
它们是隐藏的,因为你只看到那些链接当你悬停。 我通过注入CSS规则修复了这个问题(只是说万一它不起作用)。在
当我试图通过xpath查找元素时,它不想在之后单击链接,而且也不会找到所有的元素,总是只有4个(即使在视图中显示了更多的元素)。在
HTML格式:
<a href="#" title="Display">Display</a>
当我在inspect中单击ok copy xpath时,它会显示:
^{pr2}$但当我这样使用它时,它就不起作用了:
^{3}$所以有两个问题:
XPath中的模式是相同的,/li[3]
是唯一更改的数字,为此,我创建了一个for循环,根据我成功完成的页面计数创建它们。在
因此,如果可以用我自己生成的XPath来完成,这些XPath与我在inspector中复制XPath时对应,那么我只需要回答问题2。在
注:这是第一个HTML的父级的HTML:
<li onclick="openPopup(event, 'collect', {item_id: 165214})" class="collect" data-item-id="165214"><a href="#" title="Display">Display</a></li>
按位置对元素使用XPath并不理想。而是使用CSS选择器来匹配目标元素的属性。在
比如:
如果没有加载新页面,则可以循环单击它们:
^{pr2}$这个XPath
将选择锚文本等于
"Display"
的所有a
链接。在根据您的问题,您共享的
HTML
和代码尝试没有必要获取<li>
标记。相反,我们将得到列表中的<a>
标记。因此,要回答您的第一个问题How do I get them all
,您可以使用以下代码行:接下来,
^{pr2}$to click on each of them
您必须创建一个loop
来迭代所有的<a>
标记,如下所示:相关问题 更多 >
编程相关推荐