我遇到了 Selenium 错误

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

当我运行我在CMD中编写的代码时,遇到很多错误。 我写的代码:

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

def instagram(username, email):
 driver = webdriver.Firefox()
driver.get('https://www.instagram.com/')
sleep(2)

username_input = driver.find_element_by_name('username')
username_input.send_keys(username)
username_input.send_keys(Keys.ENTER)
sleep(2)

email_input = driver.find_element_by_name('email')
email_input.send_keys(Keys.ENTER)
sleep(2)

driver.quit()
username = '...'
email = '...'
reset_instagram_password(username, email)


driver = webdriver.Firefox()
driver.get('https://www.instagram.com/')

相反,

browser = webdriver. Firefox()
browser.get('https://www.instagram.com/')

但是同样的错误又来了。并且仅打开网页。换句话说,我在代码中填写了用户名和电子邮件地址,但只出现了网页,因此它没有保存用户名和电子邮件地址。

我正在使用

selenium Version: 4.14.0
Firefox 119.0

python selenium-webdriver firefox mozilla
1个回答
0
投票

试试这个:

from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from time import sleep

def reset_instagram_password(username, email):
    driver = webdriver.Firefox()
    driver.get('https://www.instagram.com/')
    sleep(2)

    try:
        username_input = driver.find_element(By.NAME, 'username')
        username_input.send_keys(username)
        username_input.send_keys(Keys.ENTER)
        sleep(2)

        email_input = driver.find_element(By.NAME, 'email')
        email_input.send_keys(email)
        email_input.send_keys(Keys.ENTER)
        sleep(2)
    except Exception as e:
        print(f"An error occurred: {e}")
    finally:
        driver.quit()

username = 'your_username'
email = 'your_email'
reset_instagram_password(username, email)

此外,唱 sleep 来等待元素加载并不是最佳实践。最好使用 WebDriverWait 显式等待元素出现。

如果问题没有解决,请显示错误,因为如果我们不知道,我们无法帮助您

© www.soinside.com 2019 - 2024. All rights reserved.