【问题标题】:How can I iterate through <div> elements with different class names with python 3.7 and selenium webdriver?如何使用 python 3.7 和 selenium webdriver 遍历具有不同类名的 <div> 元素?
【发布时间】:2019-08-08 18:37:43
【问题描述】:

我正在尝试制作一个 reddit 机器人,它可以报告我的个人资料和 现在我必须找出我的哪个 cmets 的点赞数最多。

所有的 cmets 都在具有不同且随机类名的元素内部,但在这些内部,我发现总是有一个元素的类名开头是“comment t1_”,然后是随机字符。

所以我想创建一个循环来遍历源代码中的每个元素并检查“comment t1_”是否在类名中。

直到那时我才发现“find_element_by_class_name”方法已经过时并且不再可用。

类名是访问页面中元素的唯一方法,因为 xpath 太长,而且几乎是随机的。这里有 2 个例子,我遇到了一些共同点:

1)//[@id='SHORTCUT_FOCUSABLE_DIV']/div[2]/div/div/div/div[2]/div[4]/div[1]/div/div[1]/div/div/div[2]/div/div

2)//[@id="SHORTCUT_FOCUSABLE_DIV"]/div[2]/div/div/div/div[2]/div[4]/div[1]/div[1]/div[3]/div/div/div[2]/div/div

这些是包含“comment t1_”的 s 的 xpath。

有人可以帮我吗?

【问题讨论】:

  • 为什么不能使用 find_element_by_class_name?

标签: html selenium python-3.7


【解决方案1】:

您可以使用以下 xpath 来查找元素:

//div[contains(@class, 'comment t1_')]

PS:您始终可以使用 find_element_by_class_name。如果您能粘贴您遇到的错误以便我们可以尝试帮助您解决它,那就太好了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-17
    • 2020-09-20
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    相关资源
    最近更新 更多