提问人:hjj734 提问时间:10/31/2023 最后编辑:hjj734 更新时间:10/31/2023 访问量:53
我遇到了 Selenium 错误
I'm encountering Selenium errors
问:
当我运行我在 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
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
答:
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
我只是给了你正确的版本,你可以试着看看它
评论