Python Selenium页面源缺少元素

Python Selenium页面源缺少元素,python,selenium,captcha,recaptcha,hidden,Python,Selenium,Captcha,Recaptcha,Hidden,我有一个使用chromedriver二进制文件的基本Selenium脚本。我试图显示一个带有recaptcha的页面,然后挂起直到答案完成,然后将其存储在一个变量中以备将来使用 我遇到的障碍是我找不到recaptcha元素 #!/bin/env python2.7 import os from selenium import webdriver driverBin=os.path.expanduser("~/Desktop/chromedriver") driver=webdriver.Chr

我有一个使用chromedriver二进制文件的基本Selenium脚本。我试图显示一个带有recaptcha的页面,然后挂起直到答案完成,然后将其存储在一个变量中以备将来使用

我遇到的障碍是我找不到recaptcha元素

#!/bin/env python2.7
import os
from selenium import webdriver

driverBin=os.path.expanduser("~/Desktop/chromedriver")
driver=webdriver.Chrome(driverBin)
driver.implicitly_wait(5)
driver.get('http://patrickhlauke.github.io/recaptcha/')
有什么特别的东西需要能够看到这个元素吗

还有一种方法可以在用户解算后获取令牌而不刷新页面吗

现在,recaptcha令牌id的输入类型是隐藏的。解算后,将创建第二个recaptcha令牌id。这是我希望存储在变量中的值。我正在考虑使用一个循环来检查具有该id的已找到元素的长度。如果大于1,则进行解析。但我不确定源代码本身是否更新

更新:


随着更多的研究,它与元素的性质有关,特别是:使用标记:
您要查找的元素(输入
在iframe中)。在找到元素并与之交互之前,需要切换到iframe

import os
from selenium import webdriver

driver=webdriver.Chrome()
try:
    driver.implicitly_wait(5)
    driver.get('http://patrickhlauke.github.io/recaptcha/')

    # Find the iframe and switch to it
    iframe_path = '//iframe[@title="recaptcha widget"]'
    iframe = driver.find_element_by_xpath(iframe_path)
    driver.switch_to.frame(iframe)

    # Find the input element
    input_elem = driver.find_element_by_id("recaptcha-token")

    print("Found the input element: ", input_elem)

finally:
    driver.quit()