【问题标题】:NoSuchElementException in selenium while making Instagram bot制作 Instagram 机器人时硒中的 NoSuchElementException
【发布时间】:2021-11-23 16:45:26
【问题描述】:

我正在尝试制作一个能够自行创建 Instagram 帐户的机器人。几分钟前,我正在制作它并且它运行良好。但是,我第二次运行它时,我遇到了这个错误:

Traceback (most recent call last):
  File "/Users/akshatverma/PycharmProjects/wantfollowers/main.py", line 13, in <module>
    _email = browser_.find_element_by_xpath("/html/body/div[1]/section/main/div/div/div[1]/div/form/div[3]/div/label/input")
  File "/Users/akshatverma/PycharmProjects/wantfollowers/venv/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 394, in find_element_by_xpath
    return self.find_element(by=By.XPATH, value=xpath)
  File "/Users/akshatverma/PycharmProjects/wantfollowers/venv/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 976, in find_element
    return self.execute(Command.FIND_ELEMENT, {
  File "/Users/akshatverma/PycharmProjects/wantfollowers/venv/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/Users/akshatverma/PycharmProjects/wantfollowers/venv/lib/python3.9/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: /html/body/div[1]/section/main/div/div/div[1]/div/form/div[3]/div/label/input

这是我的代码:

【问题讨论】:

  • 请不要发布代码或错误的图像,请参阅How to Ask

标签: python selenium webautomation


【解决方案1】:

您可能需要等待一些时间。而不是绝对使用相对 xpaths。

如下所示应用显式等待并尝试:

# Imports Required
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait

browser_.get("https://www.instagram.com/")

browser_.find_element_by_xpath("//span[text()='Sign up']").click()

wait = WebDriverWait(browser_,30)
wait.until(EC.element_to_be_clickable((By.XPATH,"//input[@aria-label='Username']")))

email = browser_.find_element_by_xpath("//input[@aria-label='Username']")
email.send_keys("Sample Text")

【讨论】:

    猜你喜欢
    • 2016-04-17
    • 1970-01-01
    • 1970-01-01
    • 2015-01-09
    • 2015-11-06
    • 2021-04-20
    • 2020-12-07
    • 1970-01-01
    • 2022-01-02
    相关资源
    最近更新 更多