我是編碼新手,我開始創建一個 Instagram 機器人。我的代碼打開網頁并導航到登錄頁面,但沒有填寫用戶名和密碼的空白。我想使用硒,我嘗試了不同的方法,我在這里上傳的是最后一個。我不知道這里有什么問題。
from selenium import webdriver
import os
import time
class InstaBot:
def __init__(self, username = None, password = None):
self.username = '******'
self.password = '******'
self.driver = webdriver.Firefox()
self.login()
def login(self):
self.driver.get('https://instagram.com')
username_input = self.driver.find_element_by_name('username')
password_input = self.driver.find_element_by_name('password')
username_input.send_keys(self.username)
password_input.send_keys(self.password)
login_btn.click()
if __name__ == '__main__':
ig_bot = InstaBot('temp_username', 'temp_password')
uj5u.com熱心網友回復:
希望問題解決了。我已將代碼更改為
username_input = self.driver.find_element_by_css_selector("input[name='username']") password_input = self.driver.find_element_by_css_selector("input[name='password']")
它有效!!
uj5u.com熱心網友回復:
Instagram網站是由React元素構建的,因此要將字符序列發送到您需要為element_to_be_clickable()引入WebDriverWait的元素,您可以使用以下任一定位器策略:
使用CSS_SELECTOR:
WebDriverWait(self.driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[name='username']"))).send_keys("limbalu") self.driver.find_element(By.CSS_SELECTOR, "input[name='password']").send_keys("limbalu")使用XPATH:
WebDriverWait(self.driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[@name='username']"))).send_keys("limbalu") self.driver.find_element(By.XPATH, "//input[@name='password']").send_keys("limbalu")注意:您必須添加以下匯入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/391994.html
