尝试使用Python在Instagram上注册:https://instagram.com/accounts/emailsignup

问题描述 投票:0回答:2

我遇到了麻烦,因为我尝试过的一切都不起作用。我尝试过使用 python 请求。不幸的是,这不起作用,因为表单在网页后 1 秒左右加载,使得发布请求不可能。无奈之下,我改用了硒。但是,我无法通过 xpath、id 或 class 来定位元素,因为每次加载网页时它们都是动态加载和随机化的。还有其他办法可以报名吗?

请求:尝试传递发布请求时。失败是因为页面/表单尚未加载(请参阅标题中的 URL)

m = {}
m["fullName"] = "test"
requests.post(url, data=m)

Selenium 尝试:不起作用,因为 ids/类名/等每次都是随机的。

email_field =  driver.find_element_by_id("f2e3acfde5540d")
name_field = driver.find_element_by_id("f15a1d5523914b")
username_field = driver.find_element_by_id("ff9c874585158")
password_field = driver.find_element_by_id("f233cff115218c8")
python selenium selenium-webdriver ui-automation
2个回答
0
投票

ssh root@your_server_ip wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb wget sftp://root@localhost/root/Instagram-Follower-Bot/google-chrome-stable_current_amd64.deb scp root@localhost:/root/Instagram-Follower-Bot/google-chrome-stable_current_amd64.deb 。 sudo dpkg -i google-chrome-stable_current_amd64.deb sudo apt-get install -f 谷歌浏览器--版本

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
import time

def open_instagram_signup():
    # Setup ChromeDriver
    driver = webdriver.Chrome(ChromeDriverManager().install())

    try:
        # Navigate to the Instagram signup page
        driver.get('https://www.instagram.com/accounts/emailsignup/')

        # Wait for some time to visually confirm navigation
        time.sleep(10)
    finally:
        driver.quit()

if __name__ == "__main__":
    open_instagram_signup()

-1
投票

这里是一个示例,如何使用 xpath 选择器通过 Selenium 登录/注册 instagram。我用硒包装器 Elementium 编写了这个代码,以减少代码。但是,您可以在代码中使用相同的选择器。

from elementium.drivers.se import SeElements
from selenium import webdriver

browser = webdriver.Chrome()
browser.get('https://www.instagram.com/accounts/login/?hl=en')
se = SeElements(browser)

se.xpath('//input[@name="username"]', wait=True, ttl=2).clear().write('username')
se.xpath('//input[@type="password"]', wait=True, ttl=2).clear().write('password')
se.xpath('//button[contains(text(), "Log in")]', wait=True, ttl=2).click()
assert se.xpath('//a[text()="Profile"]', wait=True, ttl=2), 'User was not logged in.'

与注册相同:

browser.get('https://www.instagram.com/?hl=en')
se = SeElements(browser)

se.xpath('//input[@name="emailOrPhone"]', wait=True, ttl=2).clear().write('366656')
se.xpath('//input[@name="fullName"]', wait=True, ttl=2).clear().write('Alex')
se.xpath('//input[@name="username"]', wait=True, ttl=2).clear().write('Alex')
se.xpath('//input[@name="password"]', wait=True, ttl=2).clear().write('password')
se.xpath('//button[contains(text(), "Sign up")]', wait=True, ttl=2).click()
© www.soinside.com 2019 - 2024. All rights reserved.