我正在使用以下 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())
最佳答案
如果您的目标仅仅是任务自动化,您可以通过编写函数并传递元素和设置文本来加快输入速度直接用脚本注入(inject)字段如下:
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)
关于python - 如何减少 Python selenium Pyperclip.paste 执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48804541/