#python #selenium #instagram
#python #селен #Instagram
Вопрос:
Итак, я пытаюсь создать программу, которая автоматически комментирует все сообщения пользователя в Instagram с помощью selenium.
Но все XPath, которые я пробовал, не переходят к своим последним сообщениям, они просто ничего не делают!
мой код:
import os
import time
from colorama import *
from selenium import webdriver as wd
from selenium.webdriver.chrome.options import Options
import time
from time import sleep
init()
def main(username, password, target):
while True:
options = Options()
options.headless = False # Chrome Headless
options.add_experimental_option('excludeSwitches', ['enable-logging'])
driver = wd.Chrome('chromedriver.exe', options=options)
driver.get("https://www.instagram.com/accounts/login/?source=auth_switcher")
driver.find_element_by_xpath('/html/body/div[2]/div/div/div/div[2]/button[1]').click()
sleep(2)
driver.find_element_by_xpath("/html/body/div[1]/section/main/div/article/div/div[1]/div/form/div/div[1]/div/label/input").send_keys(username)
driver.find_element_by_xpath("/html/body/div[1]/section/main/div/article/div/div[1]/div/form/div/div[2]/div/label/input").send_keys(password)
driver.find_element_by_xpath("/html/body/div[1]/section/main/div/article/div/div[1]/div/form/div/div[3]/button").click()
time.sleep(4)
driver.get("https://www.instagram.com/%s/" % target)
sleep(3)
print("Reporting")
driver.find_element_by_xpath("/html/body/div[1]/section/main/div/div[3]/article/div[1]/div/div[1]/div[1]/a/div[1]/div[1]")
def info():
os.system('cls')
print(Fore.LIGHTGREEN_EX logo Fore.RESET)
username = input(Fore.LIGHTBLUE_EX 'Username: @' Fore.LIGHTGREEN_EX)
password = input(Fore.LIGHTBLUE_EX 'Password: ' Fore.LIGHTGREEN_EX)
target = input(Fore.LIGHTBLUE_EX 'Target: @' Fore.LIGHTGREEN_EX)
main(username, password, target)
print(Fore.LIGHTGREEN_EX logo Fore.RESET)
info()
Я довольно новичок на этом сайте, пожалуйста, не обращайте внимания на это, но я делаю что-то не так или нет, и я должен делать это из их профиля или я тупой?
Ответ №1:
Попробуйте использовать режим адаптивного дизайна. CTRL-Shift-M в Windows.
Ответ №2:
во-первых, убедитесь, что ваша версия браузера Chrome совместима с драйвером chromium. во-вторых, вы указали системной переменной среды путь к chromedriver.exe
вот так;
C:webdrivers
затем я запустил этот код;
from selenium import webdriver
from time import sleep
class igBot():
def __init__(self):
self.driver = webdriver.Chrome()
def login(self):
self.driver.get("https://www.instagram.com")
sleep(4)
email_in = self.driver.find_element_by_xpath('//*[@id="loginForm"]/div/div[1]/div/label/input')
email_in.send_keys("username")
password_in = self.driver.find_element_by_xpath('//*[@id="loginForm"]/div/div[2]/div/label/input')
password_in.send_keys("password")
log_in = self.driver.find_element_by_xpath('//*[@id="loginForm"]/div/div[3]/button')
log_in.click()
#Save Your Login Info?
self.driver.find_element_by_xpath('//*[@id="react-root"]/section/main/div/div/div/div/button').click()
#turn on notification
self.driver.find_element_by_xpath('/html/body/div[4]/div/div/div/div[3]/button[2]').click()
while True:
self.driver.execute_script("window.scrollTo(10, document.body.scrollHeight);")
self.driver.find_element_by_xpath('//*[@id="react-root"]/section/main/section/div/div[3]/div/article[4]/div[3]/section[1]/span[1]/button/div').click()
sleep(9)
bot = igBot()
bot.login()
попробуйте заменить xpath этим фрагментом кода. (иногда это работает не так, как обычно)