我使用以下python脚本从本地文件复制内容并将其粘贴到文本区域,实际上工作正常。但是,完成此任务需要花费大量时间,因为我的脚本会逐个将文件内容类型化为文本区域。
所以我在寻找是否有办法修改以下脚本,以便它可以一次性粘贴完整的数据。
import selenium
import pyperclip
path = 'path\to-my-file\Customer - Copy.txt'
fo = open(path, 'r').read()
#fo = fo.replace("\r","")
#fo = fo.replace("\n","")
pyperclip.copy(fo)
from selenium import webdriver
from selenium.webdriver import ActionChains
#from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
chromedriver = 'path\to-my-file\chromedriver.exe'
browser = webdriver.Chrome(chromedriver)
import time
time.sleep(10)
browser.get('http://example.com')
time.sleep(10)
username1 = browser.find_element_by_class_name("ace_text-input")
username1.send_keys(pyperclip.paste())
答案 0 :(得分:1)
如果你的目标只是任务自动化,你可以通过编写一个函数来加速输入,并传递元素和文本设置直接用脚本注入字段如下:
def set_text(element, text):
element._parent.execute_script("""
var elm = arguments[0], text = arguments[1];
if (!('value' in elm))
throw new Error('Expected an <input> or <textarea>');
elm.focus();
elm.value = text;
elm.dispatchEvent(new Event('change'));
""", element, text)