使用 selenium 点击 Instagram 上的按钮
Posted
技术标签:
【中文标题】使用 selenium 点击 Instagram 上的按钮【英文标题】:Use selenium to click buttons on Instagram 【发布时间】:2021-02-10 19:22:12 【问题描述】:几个月前才开始学习 Python,并尝试使用 selenium 构建 iG 机器人。
我很难让代码点击过去的登录按钮和“不是现在”按钮。
from time import sleep
from selenium import webdriver
browser = webdriver.Firefox()
browser.get("https://www.instagram.com/")
sleep(1)
#Cookie popup
accept_cookies = browser.find_element_by_xpath("//button[text()='Accept']").click()
username_input = browser.find_element_by_css_selector("input[name='username']")
password_input = browser.find_element_by_css_selector("input[name='password']")
username_input.send_keys("")
password_input.send_keys("")
#xpath on button
login_link = browser.find_element_by_xpath("/html/body/div[1]/section/main/article/div[2]/div[1]/div/form/div/div[3]/button").click()
#Notification popup
turnoff_notif = browser.find_element_by_xpath("//button[text()='Not Now']").click()
我的"//button[text()='Accept']").click()
推送过去了接受 cookie 弹出窗口,但为什么相同的命名法不适用于在以下弹出通知中按“不立即”????
附言主页上最初的“登录”按钮也是如此,所以我不得不发布直接的 xpath URL,但如果可能的话我想避免这种情况。
任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:您需要先加载页面。我建议您在每次与页面交互时设置一些睡眠:
login_link = browser.find_element_by_xpath("/html/body/div[1]/section/main/article/div[2]/div[1]/div/form/div/div[3]/button").click()
sleep(7)
turnoff_notif = browser.find_element_by_xpath("//button[text()='Not Now']").click()
另一种选择是使用 Selenium 隐式/显式等待。请参阅here 了解更多信息。
【讨论】:
老兄,谢谢!就是这样......有一个虚拟的兄弟?以上是关于使用 selenium 点击 Instagram 上的按钮的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 selenium (Python) 定位 Instagram 关注按钮
如何使用 Selenium 在 Instagram 弹出框中向下滚动
使用 Selenium 和 python 为 Instagram 提供上传文件路径
使用 Selenium Python 进行网页抓取 [Twitter + Instagram]
使用 selenium 和 webdriver (chrome) python OSX 在 Instagram 中填写登录表单