Instagram Bot:使用Selenium Python的Firefox中的单击按钮

时间:2018-11-10 08:37:40

标签: python macos selenium firefox instagram

我正在制作一个Instagram机器人程序(来自YT教程),我无法越过登录后出现的“打开通知”弹出窗口。

I want to click "Turn On"

如何单击按钮?这是xpath,以及检查后看到的内容。

Xpath:

/html/body/div[2]/div/div/div/div[3]/button[1]

检查:

<button class="aOOlW  bIiDR  " tabindex="0">Turn On</button>

这是我的代码。谁能告诉我要添加的内容以及在哪里?我正在尝试单击底部的按钮...

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

def print_same_line(text):
    sys.stdout.write('\r')
    sys.stdout.flush()
    sys.stdout.write(text)
    sys.stdout.flush()


class InstagramBot:

    def __init__(self, username, password):
        self.username = username
        self.password = password
        self.driver = webdriver.Firefox()

    def closeBrowser(self):
        self.driver.close()

    def login(self):
        driver = self.driver
        driver.get("https://www.instagram.com/")
        time.sleep(2)
        login_button = driver.find_element_by_xpath("//a[@href='/accounts/login/?source=auth_switcher']")
        login_button.click()
        time.sleep(2)
        user_name_elem = driver.find_element_by_xpath("//input[@name='username']")
        user_name_elem.clear()
        user_name_elem.send_keys(self.username)
        passworword_elem = driver.find_element_by_xpath("//input[@name='password']")
        passworword_elem.clear()
        passworword_elem.send_keys(self.password)
        passworword_elem.send_keys(Keys.RETURN)
        time.sleep(2)
        notify_button = browser.find_element_by_xpath('//button[text()="Turn On"]')
        notify_button.click()
        time.sleep(2)

1 个答案:

答案 0 :(得分:0)

解决方案!

代替使用此...

notify_button = browser.find_element_by_xpath('//button[text()="Turn On"]')
notify_button.click()
time.sleep(2)

使用它!

notify_element = driver.find_element_by_css_selector("COPY PASTE CSS SELECTOR HERE")
notify_element.send_keys(Keys.TAB)
time.sleep(1)
notify_element.send_keys(Keys.RETURN)
time.sleep(2)