【发布时间】:2020-04-27 16:31:48
【问题描述】:
使用 selenium 在推文上点击“喜欢”的最新方法是什么?
从 css 看来,我需要点击这个:
<div aria-haspopup="false" aria-label="131310 Likes. Like" role="button" data-focusable="true" tabindex="0" class="css-18t94o4 css-1dbjc4n r-1777fci r-11cpok1 r-1ny4l3l r-bztko3 r-lrvibr" data-testid="like">
可以在个人资料页面上找到。我的目标不是完全像个人资料页面上的推文,但如果我能弄清楚这一点,我就能弄清楚我真正想要做什么。
我尝试了很多方法,但这是我最近的方法:
like_btn = (By.XPATH, ("//div[@data-testid='like', @class='css-18t94o4 css-1dbjc4n r-1777fci r-11cpok1 r-1ny4l3l r-bztko3 r-lrvibr']"))
like_btn = (By.XPATH, ("//div[@data-testid='like'"))
Xpath 的副本:
like_btn = (By.XPATH, ("//*[@id='react-root']/div/div/div/main/div/div/div/div[1]/div/div[2]/div/div/div[2]/section/div/div/div/div[3]/div/article/div/div[2]/div[2]/div[4]/div[3]/div"))
完整xpath的副本:
like_btn = (By.XPATH, ("/html/body/div/div/div/div/main/div/div/div/div[1]/div/div[2]/div/div/div[2]/section/div/div/div/div[3]/div/article/div/div[2]/div[2]/div[4]/div[3]/div"))
然后该方法使用:
def like_user_tweets(self, user_tweets=UserStatuses.like_btn):
self.like_btn.click()
看起来 twitter 最近对所有内容都进行了改造,因为即使是一年或更早之前的 github 代码也使用“HeartAnimation”类来查找点赞按钮,但它似乎不再存在了。
错误:AttributeError: 'NoneType' object has no attribute 'click'
它是一个按钮,所以应该不能点击?
如何点击喜欢/收藏按钮?
【问题讨论】:
-
它是一个按钮,所以它不应该能够点击吗? 不过看看错误,这不是问题。据我所知,您需要做的就是为元素找到合适的 xpath。这与为任何元素查找 xpath 的过程完全相同,Twitter 似乎没有任何方面与大多数情况完全不同。
-
那么我的 Xpath 或完整 Xpath 的副本不应该工作吗?你能看出我的语法有什么问题吗?
-
澄清我的 xpath .. 那是直接来自 chrome 检查的实际 copypasta
-
您是否检查过您要点击的元素是否在 iframe 中?如果是这样,您必须切换到该 iframe 才能找到该按钮。
-
@MinhDao 在检查中搜索“iframe”,但没有任何弹出
标签: python selenium selenium-chromedriver