gpt4 book ai didi

使用 Javascript 填充网站上的格式化文本字段

转载 作者:行者123 更新时间:2023-11-30 12:17:21 26 4
gpt4 key购买 nike

我对 Javascript 几乎一无所知。通过 monkey-see, monkey-do 方法,我成功地在 AppleScript/Safari 中使用 Javascript 使用以下命令填充网站上的文本字段:

do JavaScript "document.getElementById('ElementID').value ='TextToEnter';" in document 1

我已经能够在除一个字段之外的所有字段中输入文本。有效的字段被标记为 input type="text"。无效的字段很复杂,因为可以对输入的文本进行格式化(粗体、斜体、下划线、对齐等)输入后。假设我已经确定了该元素的正确源代码,它在任何文本输入之前看起来如下所示:

<body id="tinymce" class="mce-content-body " onload="window.parent.tinymce.get('fax_text').fire('load');" contenteditable="true" spellcheck="false"><p><br data-mce-bogus="1"></p></body>

根据其查看方式,有时 pbr 标记会出现在不同的行上,但其他方面都是相同的。

将文本(“INSERT TEXT HERE”)直接手动输入到网页的文本字段后,源代码变为:

<body id="tinymce" class="mce-content-body " onload="window.parent.tinymce.get('fax_text').fire('load');" contenteditable="true" spellcheck="false"><p>INSERT TEXT HERE</p></body>

以下无效(包装在 Applescript 中):

document.getElementById('tinymce').value ='INSERT TEXT HERE';

它产生错误:“缺失值”。

根据@WhiteHat,以下 n= 0-4 在页面上的多个位置插入文本,但不在目标文本字段中; n > 4 导致“缺失值”错误:

document.getElementsByTagName('p')[n].innerHTML ='Insert text here';

我尝试定位 br 标记但无济于事。如何使用 Javascript 定位此文本字段?注意:我不需要格式化输入的文本。

最佳答案

您需要访问 <p>元素,紧接在 body 之后文件本身……

document.getElementsByTagName('P')[0].innerHTML = 'your text'

getElementsByTagName函数返回包含您提供的标签名称的所有元素的数组,P在这种情况下。您正在寻找第一个,因此是 [0] .

innerHTML属性将允许您设置 <p> 的内容元素。

以下是一个很好的 JavaScript 引用...

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference

以下引用适用于网页或文档对象模型 (DOM)。

https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model

tinymce是一个第 3 方 JavaScript 库,它允许丰富的编辑功能。

http://www.tinymce.com/

根据评论,您要查找的特定字段名为 fax_text .这是来源,它在 textarea 中标记,注意使用哪个函数 TagNameName ...

document.getElementsByName('fax_text')[0].value = 'This is my text!';
document.getElementsByTagName('textarea')[0].value =
document.getElementsByName('fax_text')[0].value +
'\nThis is additional text...';
<textarea rows="5" name="fax_text" cols="36" class="mytext"></textarea>

关于使用 Javascript 填充网站上的格式化文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32094551/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com