Я хотел получить доступ к результатам перевода на следующий адресКак получить конкретный фрейм в веб-страницы и получить его содержание
перевод отображается в нижнем фрейме содержимого из двух кадров. Я заинтересован в получении только нижний фрейм контента, чтобы получить переводы
селеном для питона позволяет нам получать содержимое страницы с помощью веб-автоматизации:
browser.get('http://translate.google.com/#en/ar/'+hurl)
Требуемый кадр является IFrame:
<div id="contentframe" style="top:160px"><iframe src="/translate_p?hl=en&am... name=c frameborder="0" style="height:100%;width:100%;position:absolute;top:0px;bottom:0px;"></div></iframe>
, но как получить нижний элемент кадра содержимого для получения переводов с помощью веб-автоматизации?
пришел знать, что PyQuery также позволяет просматривать содержимое с помощью Jquery формализма
Update:
Ответ отметил, что Селен обеспечивает способ, в котором вы можете сделать это.
frame = browser.find_element_by_tag_name('iframe')
browser.switch_to_frame(frame)
# get page source
browser.page_source
, но это не работает в приведенном выше примере. Он возвращает пустую страницу.
его отображение: NoSuchFrameException: Сообщение: u'Найти, чтобы найти фрейм: 1 '; Stacktrace: метод FirefoxDriver.prototype.switchToFrame забросил ошибку в файле: /// c: /users/.../extensions/[email protected]/components/driver_component.js > – 2013-04-03 18:41:22
Попробуйте дать 'driver.switch_to_frame (0); это единственный кадр, присутствующий на веб-странице. Мне удалось переключиться на фрейм и щелкнуть ссылку заголовка SaltyCrane. – Hemanth
Вы получили переведенную страницу? – 2013-04-04 13:27:56