python - 检查 selenium instagram 帖子是否是视频
问题描述
我有一个机器人可以遍历所有用户帖子并获取喜欢的数量和链接。问题是代码在遇到视频时会中断。
def usermostlikedposts(self, username, nofposts):
self.nav_user(username)
for i in range(nofposts):
try:
post = self.browser.find_element_by_xpath('(//div[@class=\'eLAPa\']//parent::a)[{}]'.format(i+1))
post.click()
WebDriverWait(self.browser, 10).until(EC.presence_of_element_located((By.XPATH , '/html/body/div[4]/div[2]/div/article/div[3]/section[2]/div/div/button/span')))
likes = self.browser.find_element_by_xpath('/html/body/div[4]/div[2]/div/article/div[3]/section[2]/div/div/button/span').get_attribute("innerHTML")
link = post.get_attribute("href")
self.likesposts[likes] = link
x = self.browser.find_element_by_xpath('/html/body/div[4]/div[3]/button')
x.click()
except:
pass
.
我不知道如何在视频上进行这项工作,我想让机器人在遇到视频时获得观看次数而不是喜欢,但我无法实现这一点。我正在寻找一种方法来检查帖子是否是视频,并根据该条件编写代码
解决方案
我设法解决了它:
def usermostlikedposts(self, username, nofposts):
self.nav_user(username)
for i in range(nofposts):
try:
post = self.browser.find_element_by_xpath('(//div[@class=\'eLAPa\']//parent::a)[{}]'.format(i+1))
post.click()
WebDriverWait(self.browser, 10).until(EC.presence_of_element_located((By.XPATH , '/html/body/div[4]/div[2]/div/article/div[3]/section[1]/span[3]/button')))
try:
likes = self.browser.find_element_by_xpath('/html/body/div[4]/div[2]/div/article/div[3]/section[2]/div/div/button/span').get_attribute("innerHTML")
link = post.get_attribute("href")
self.likesposts[likes] = link
except:
pass
x = self.browser.find_element_by_xpath('/html/body/div[4]/div[3]/button')
x.click()
except:
pass
推荐阅读
- c# - Alexa 的语音比输入命令慢。为什么?
- php - 如何修复“警告:非法字符串偏移”
- linux - 无法使用 Ansible 更新 sshd 配置文件
- docker - 离子服务热重载与码头工人不工作
- angular - 验证后使用 form.submitted
- java - 就做许多练习而言,在 NetBeans 中保存小型 Java 程序的最佳方法是什么?
- sqlperformance - 性能暂存表设计
- ruby - Ruby 无法加载此类文件 - active_support/core_ext/object/blank
- python - Tensorflow 在评估我的测试模型时遇到问题
- scala - 许多流媒体源的检查点