【发布时间】:2020-10-16 21:51:19
【问题描述】:
我正在用 Python 创建一个 Selenium 机器人。驱动程序应该打开 instagram.com 并使用用户凭据作为输入填写登录表单。有一个错误:
# FIRST I OPEN INSTAGRAM LIKE THIS
self.driver.get("https://www.instagram.com/")
# THEN A POP-UP APPEARS, AND I CLOSE IT BY CLICKING IN THE ACCEPT BUTTON,
# IT SEEMS LIKE IT IS NOT AN IFRAME SO NO FRAME SWITCHES ARE NEEDED
cooki = self.driver.find_element_by_xpath('/html/body/div[2]/div/div/div/div[2]/button[1]')
cooki.click()
# NOW I TRY TO FIND THE USERNAME FORM TO WRITE IN AN INPUT
usbar = self.driver.find_element_by_xpath('//*[@id="loginForm"]/div/div[1]') # ERROR HERE
usbar.send_keys(input('Username: '))
错误提示:
NoSuchElementException: 没有这样的元素: 无法定位元素: {"method":"xpath","selector":"//*[@id="loginForm"]/div/div[1]"}
它找不到要写入的用户名表单。我相信路上没有 iframe,我不知道是否还有其他问题阻止驱动程序找到它。我还很新,所以我还不能上传页面的 html 图像,这就是为什么我包含打开页面的行。谁能想出一个万无一失的解决方案?
【问题讨论】:
-
你检查过你的程序最终的页面源吗?
标签: python selenium-webdriver xpath