• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Python scrypt YandexTranslate

dhr23

New member
13.11.2019
1
0
BIT
0
Скрипт должен выбрать языки для перевода, загрузить jpg изображения, имитировать нажатие кнопки для перевода и извлечь переведенный текст в файл.
Подскажите, что нужно поправить для корректного исполнения части с заргузкой и отправкой?

Python:
import requests
import lxml.html as html
import cssselect
import os
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver import Firefox
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.common.by import By

user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7'
headers={'User-Agent':user_agent,}

sessionObj = requests.session()
url = "https://translate.yandex.com/ocr"

driver = webdriver.Firefox()
driver.get(url)

values = {
    "button button_tab state-selected" : "Image",
    "sourceLangButton" : "ko",
    "targetLangButton" : "ru",
   }

r = sessionObj.post(url, data=values)

# элемент <input type="file">
element = driver.find_element_by_type("file")
element.send_keys(os.getcwd() + "name.jpg" )

print(element.get_attribute("type"))
driver.close()

browser = webdriver.Firefox()
browser.get(url)
myelement = browser.find_element_by_class("button")
driver.myelement('button[ng-click="func()"]')

Задействуемые участки кода сайта:
HTML:
<span id="sourceLangButton" class="button button_select button_select_source" tabindex="-1">Korean</span>
<span id="targetLangButton" class="button button_select button_select_target" tabindex="-1">Russian</span>


<span class="button" data-action="paste">Open in Yandex.Translate</span>


<input id="fileInput" type="file" accept="image/*" required="required">
<span class="link" data-action="selectImage">Select file</span>
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!