使用Selenium选择输入字段时出错

塔哈·贾利利(Taha Jalili)

在以下代码中,我试图使用Selenium和python登录Instagram帐户。

我使用了不同的方法来定位字段并用适当的数据填充它们,但是在所有情况下,它都无法定位元素。

这些是我尝试填写的字段: Username

<input aria-label="Phone number, username, or email" aria-required="true" autocapitalize="off" autocorrect="off" maxlength="75" name="username" type="text" class="_2hvTZ pexuQ zyHYP" value="">

密码:

<input aria-label="Password" aria-required="true" autocapitalize="off" autocorrect="off" name="password" type="password" class="_2hvTZ pexuQ zyHYP" value="">

这是我的代码:

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

class InstagramBot():
    def __init__(self,username, password):
        self.browser = webdriver.Chrome()
        self.username = username
        self.password = password
        time.sleep(4)

    def login(self):
        self.browser.get('https://www.instagram.com/accounts/login')

        usernameInput = self.browser.find_element_by_name('username')
        passwordInput = self.browser.find_element_by_name('password')
        usernameInput.send_keys(self.username)
        passwordInput.send_keys(self.password)
        self.browser.send_keys(Keys.ENTER)
        time.sleep(2)


bot = InstagramBot('MY_USERNAME', 'MY_PASSWORD')
bot.login()
0立方米

您的脚本没有任何问题,只需等待使用WebDriverWait加载页面

time.sleep(4)self.browser.get('https://www.instagram.com/accounts/login')

def login(self):
    self.browser.get('https://www.instagram.com/accounts/login')
    time.sleep(4)
    usernameInput = self.browser.find_element_by_name('username')
    passwordInput = self.browser.find_element_by_name('password')
    usernameInput.send_keys(self.username)
    passwordInput.send_keys(self.password)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章