我的代码逐行将文本输入到网页的文本区域中,如何 使它一次全部插入整个文本,是否有解决方案 ?因为逐行需要很多时间
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
要将整个文本块<textarea>通过Python发送到使用硒中,以加快处理速度,您可以注入脚本并使用以下 解决方案:
<textarea>
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 ‘); elm.focus(); elm.value = text; elm.dispatchEvent(new Event(‘change’)); “”“, translate_from, myText) driver.find_element_by_css_selector(“input#translate”).click()