在xpath中找不到元素(Instagram、selenium、python)

在xpath中找不到元素(Instagram、selenium、python),python,selenium,instagram,Python,Selenium,Instagram,好的,我一直在尝试制作一个instagram bot,为帖子发回src链接,但我遇到了麻烦,我不断收到错误“selenium.common.exceptions.NoSuchElementException:Message:找不到元素:/html/body/div[4]/div[2]/div/article/div[2]/div/div/div/div/div[1]/img”当我试图获取包含src的元素的xpath时。有人能帮忙吗? 链接: 在一些基本情况下会出现这种例外情况 此项目不在页面上

好的,我一直在尝试制作一个instagram bot,为帖子发回src链接,但我遇到了麻烦,我不断收到错误“selenium.common.exceptions.NoSuchElementException:Message:找不到元素:/html/body/div[4]/div[2]/div/article/div[2]/div/div/div/div/div[1]/img”当我试图获取包含src的元素的xpath时。有人能帮忙吗? 链接:


在一些基本情况下会出现这种例外情况

  • 此项目不在页面上。页面未加载或页面无效
  • 元素的路径不正确
  • 如果前两个点匹配,那么你真的需要看看是否有帧
为此,您需要尝试使用以下代码切换到帧

iframe = driver.find_element_by_xpath("//iframe[@name='Dialogue Window']")
您可以将“//iframe[@name='Dialogue Window']”替换为您的标识符

driver.switch_to.frame(iframe)
只需在搜索元素之前插入。 如果元素确实在框架中,则会找到它

driver.switch_to.default_content()

以防万一,这是退出帧的代码。

是的!我觉得你的状态不对。。。可能有一个弹出窗口或类似的东西。如果是这样的话,你必须关闭它。要切换到活动元素,请执行以下操作:

driver.switch_to.default_content()
driver.switch_to_active_element()

然后你可以找到“关闭”按钮或其他东西。关闭后,您将能够继续在页面上浏览网页,并找到所需的元素;)

好的,两件事使用webdriver等待并检查它是否在iframe下。如果这两个问题不是问题,那么问题是您的xpath,所以只需检查元素并从开发人员工具复制它的xpath。对不起,我是selenium的新手,那么我如何检查它是否是iframe,这就是我获取xpath的方式,我进入inspect并将它@arundeepchohanGo复制到开发者工具搜索iframe,看看它是否是该标记的父div。如果你的标记有效,它也应该在开发者工具中弹出。