Python двойные косые черты при загрузке instagram - PullRequest
0 голосов
/ 03 августа 2020

Итак, я начал делать инстаграм-бота, который загружает и лайкает посты, подписывает / отписывает людей и т.д. поэтому он не может найти его, например https://www.instagram.com//random_user/, и я до сих пор не могу понять, почему, потому что, когда он загружается на экран входа в Instagram, все в порядке.

Вот мой код:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions
import os
import time 

class InstagramBot:


    def __init__(self, username, password):
        self.username = username
        self.password = password
        self.base_url = 'https:/www.instagram.com/'
        self.driver = webdriver.Chrome('chromedriver.exe')

        self.login()

    


   def login(self):
        self.driver.get('{}accounts/login/'.format(self.base_url))

        enter_username = WebDriverWait(self.driver, 
        .until(expected_conditions.presence_of_element_located((By.NAME, 'username')))

    enter_username.send_keys(self.username)
    enter_password = WebDriverWait(self.driver,  
       .until(expected_conditions.presence_of_element_located((By.NAME, 'password')))
    enter_password.send_keys(self.password)

    self.driver.find_element_by_xpath('//*[@id="react-root"]/section/main/div/article/div/div[1]/div/form/div[4]/button/div').click()
 

def nav_user(self, user):
    self.driver.get('{}/{}/'.format(self.base_url, user))

    


if __name__ == '__main__':
    ig_bot = InstagramBot('lens_queen_photography2', 'randompassword123')


    ig_bot.nav_user('random_user')

1 Ответ

0 голосов
/ 03 августа 2020

Чтобы не запрашивать недопустимые URL-адреса, вы можете попробовать использовать urlparse.urljoin вместо format:

from urlparse import urljoin

self.driver.get(urljoin(self.base_url, 'accounts/login/'))

Он был создан именно для такого рода проблем

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...