我遇到了 Selenium 错误

I'm encountering Selenium errors

提问人:hjj734 提问时间:10/31/2023 最后编辑:hjj734 更新时间:10/31/2023 访问量:53

问:

当我运行我在 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.0Firefox 119.0

driver.get('https://www.instagram.com/')
NameError: name 'driver' is not defined. Did you mean: 'webdriver'?

browser.get('https://www.instagram.com/')
NameError: name 'browser' is not defined
python selenium-webdriver 火狐 mozilla

评论

1赞 Daviid 10/31/2023
很高兴看到这些错误。
0赞 Daviid 10/31/2023
另外,修复缩进。
0赞 Daviid 10/31/2023
天哪,我刚刚被叫了一个错误。
0赞 hjj734 10/31/2023
@Daviid怎么做????
2赞 Daviid 10/31/2023
对不起,我高估了你的能力,试试这个

答:

1赞 TristanMas 10/31/2023 #1

试试这个:

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 = '...'
email = '...'
reset_instagram_password(username, email)

此外,使用睡眠来等待元素加载并不是最佳做法。最好使用 WebDriverWait 显式等待元素存在。

如果这个问题没有得到解决,请将错误添加到主要问题中,因为如果我们不知道出了什么问题,我们将无法为您提供帮助。

评论

0赞 hjj734 10/31/2023
我已经编辑了问题
0赞 TristanMas 10/31/2023
这部分代码 ''' driver = webdriver。Firefox() driver.get('instagram.com/'') ''' 应该解决它 在您的版本中没有很好地缩进
0赞 hjj734 10/31/2023
怎么会这样?我该怎么办?
0赞 TristanMas 10/31/2023
我只是给了你正确的版本,你可以试着看看它