【问题标题】:Unable to locate element or switch to frame无法定位元素或切换到框架
【发布时间】:2018-11-27 00:32:42
【问题描述】:

所以我正在关注这个 YouTube 教程 (https://www.youtube.com/watch?v=BGU2X5lrz9M) 的 Instagram 机器人,但它一直给我错误

Unable to locate element:

我不知道出了什么问题,我发现的关于该问题的所有内容都说要切换到 frame 或 iframe,但教程中的人不必这样做,我也不知道如何转变。请帮帮我!

这是代码

    driver = self.driver
    driver.get('https://www.instagram.com/')
    time.sleep(2)
    login_button = driver.find_element_by_xpath('//*[@id="react-root"]/section/main/article/div[2]/div[2]/p/a')
    login_button.click()
    time.sleep(2)
    username_elem = driver.find_element_by_xpath('//*[@id="f2fdc3b5774d3f4"]')
    username_elem.clear()
    username_elem.send_keys(self.username)
    password_elem = driver.find_element_by_xpath('//*[@id="f25923ff3b40138"]')
    password_elem.clear()
    password_elem.send_keys(self.password)
    password_elem.send_keys(Keys.RETURN)
    time.sleep(2)

【问题讨论】:

    标签: python selenium xpath selenium-chromedriver


    【解决方案1】:

    它不是关于框架,而是输入表单的元素 ID 发生了变化

    选择by name更安全

    driver.get('https://www.instagram.com/')
    
    login_button = driver.find_element_by_link_text('Log in')
    login_button.click()
    time.sleep(2)
    username_elem = driver.find_element_by_name('username')
    username_elem.clear()
    username_elem.send_keys(self.username)
    password_elem = driver.find_element_by_name('password')
    password_elem.clear()
    password_elem.send_keys(self.password)
    password_elem.send_keys(Keys.RETURN)
    time.sleep(2)
    

    【讨论】:

      猜你喜欢
      • 2021-03-31
      • 1970-01-01
      • 1970-01-01
      • 2022-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多