Python - selenium webdriver-切换到验证帧并选择音频

时间:2017-07-15 12:37:17

标签: python selenium selenium-webdriver web-scraping

我是一个正在尝试学习python编程的新手。作为编程中的自学者,我尝试通过处理项目来学习python。我尝试制作一个自动脚本,可以访问页面,执行一些操作并解决音频验证码。目前我一直在切换帧并从验证码帧中选择音频。

http://imgur.com/JBjOYJl - 切换到音频验证码

http://imgur.com/hxtavXC - 我想暂时访问

我把代码放在这里。点击&#34后我没有得到任何错误或什么;我不是机器人"再没有任何事情发生。

import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Firefox()

driver.get("website.com")

driver.find_element_by_xpath('//a[contains(text(),    "ClickHere!")]').click()

driver.find_element_by_name("address").click()

address = driver.find_element_by_name("address")
address.send_keys("xGDnjCuYNe52ieJagKnBwhUepPsPd6jGhY")

action = ActionChains(driver)
action.send_keys(Keys.TAB * 3)
time.sleep(2)
action.send_keys(Keys.ENTER)
action.perform()

recaptchaFrame = WebDriverWait(driver, 7).until(
EC.presence_of_element_located((By.TAG_NAME ,'iframe'))
)

frameName = recaptchaFrame.get_attribute('iframe')
driver.switch_to_frame(frameName)
driver.find_element_by_tag_name("iframe")

time.sleep(2)

frameName = ActionChains(driver)
frameName.send_keys(Keys.TAB)
time.sleep(3)
frameAction.send_keys(Keys.ENTER)

现在程序应该自动切换到音频验证码

谢谢。

1 个答案:

答案 0 :(得分:0)

谷歌的reCAPTCHA技术对机器人来说非常困难,对人类来说很容易,你可以阅读更多关于它的信息here。以下是该网站的摘录:

  

reCAPTCHA是一项免费服务,可以保护您的网站免受垃圾邮件的攻击   滥用。 reCAPTCHA使用高级风险分析引擎和自适应   CAPTCHA保持自动化软件不参与滥用   您网站上的活动。它允许您的有效用户这样做   轻松过关。

我的猜测是Google正在以某种方式将您的自动程序识别为机器人,而不是让您通过。