我已经在这个问题上挣扎了一段时间。
我希望它总是搜索这个类名,并在找到该类时触发它下面的代码。在类名出现之前,我不希望下面的脚本处于活动状态。直到例如出现弹出框为止。
我正在使用selenium和webdriver。
我正在努力做到这一点:
while true:
time.sleep(random.randint(2,3))
if driver.find_element_by_class_name("recaptcha-checkbox-border"):
#driver.refresh()
#time.sleep(random.randint(2,3))
#switch to recaptcha frame
driver = webdriver.Chrome(os.getcwd()+"\\webdriver\\chromedriver.exe")
delay()
frames=driver.find_elements_by_tag_name("iframe")
driver.switch_to.frame(frames[0]);
delay()
#click on checkbox to activate recaptcha
driver.find_element_by_class_name("recaptcha-checkbox-border").click()
#switch to recaptcha audio control frame
driver.switch_to.default_content()
frames=driver.find_element_by_xpath("/html/body/div[2]/div[4]").find_elements_by_tag_name("iframe")
driver.switch_to.frame(frames[0])
delay()
#click on audio challenge
driver.find_element_by_id("recaptcha-audio-button").click()
#switch to recaptcha audio challenge frame
driver.switch_to.default_content()
frames= driver.find_elements_by_tag_name("iframe")
driver.switch_to.frame(frames[-1])
delay()
发布于 2020-11-19 00:33:34
while True:
sleep(10)
#driver.refresh()
#time.sleep(random.randint(2,3))
if driver.find_element_by_class_name("rc-anchor-pt"):
driver.find_element_by_xpath("/html/body/div/div/div[3]/div/button").click()
#get the mp3 audio file
src = driver.find_element_by_id("audio-source").get_attribute("src")
print("[INFO] Audio src: %s"%src)
#download the mp3 audio file from the source
urllib.request.urlretrieve(src, os.getcwd()+"\\sample.mp3")
sound = pydub.AudioSegment.from_mp3(os.getcwd()+"\\sample.mp3")
sound.export(os.getcwd()+"\\sample.wav", format="wav")
sample_audio = sr.AudioFile(os.getcwd()+"\\sample.wav")
r= sr.Recognizer()
break
https://stackoverflow.com/questions/64903507
复制