一尘不染

如何使用python中的硒将整个文本发送到文本区域,而不是逐行发送?

selenium

我的代码逐行将文本输入到网页的文本区域中,如何
使它一次全部插入整个文本,是否有解决方案
?因为逐行需要很多时间

def Translated_Content(content):

    driver= webdriver.Chrome("C:\\Users\\shricharan.arumugam\\Desktop\\PDF2txt\\chromedriver.exe")
    driver.get('https://translate.shell.com/')

    input_box = driver.find_element_by_id('translateText')
    input_box.send_keys(content)

    translate_button = driver.find_element_by_id('translate')
    translate_button.click()
    translated_text_element= driver.find_element_by_id('translatedText')
    time.sleep(4)


    translated_text=translated_text_element.get_attribute('value')

    driver.close()

    return translated_text

阅读 218

收藏
2020-06-26

共1个答案

一尘不染

要将整个文本块<textarea>通过Python发送到使用硒中,以加快处理速度,您可以注入脚本并使用以下
解决方案:

  • Code Block:

    from selenium import webdriver
    

    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC

    myText = “”“No, there is no way to hide the console window of the chromedriver.exe
    in the .NET bindings without modifying the bindings source code. This is seen
    as a feature of the bindings, as it makes it very easy to see when your code
    hasn’t correctly cleaned up the resources of the ChromeDriver, since the console window
    remains open. In the case of some other languages, if your code does not properly clean up
    the instance of ChromeDriver by calling the quit() method on the WebDriver object,
    you can end up with a zombie chromedriver.exe process running on your machine.”“”
    options = webdriver.ChromeOptions()
    options.add_argument(“start-maximized”)
    options.add_argument(‘disable-infobars’)
    driver=webdriver.Chrome(chrome_options=options, executable_path=r’C:\Utility\BrowserDrivers\chromedriver.exe’)
    driver.get('https://translate.shell.com/’)
    translate_from = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, “textarea.form-control#translateText”)))
    translate_from._parent.execute_script(“”“
    var elm = arguments[0], text = arguments[1];
    if (!(‘value’ in elm))
    throw new Error(‘Expected an or