gpt4 book ai didi

ruby - 将大文本粘贴到 Ruby 中的 Watir Webdriver 文本字段中

转载 作者:数据小太阳 更新时间:2023-10-29 08:36:19 24 4
gpt4 key购买 nike

我有一个文本字段,我正尝试使用 Ruby 中的 Watir Webdriver 进行操作,格式如下:

<div class="fieldwrapper" ng-hide="tempPageContent.eulaModal.standardEula">
<label class="ng-binding">Custom License Agreement</label>

<textarea ng-model="tempEula.EULAText" class="med ng-pristine ng-valid"></textarea>
<!-- <span text-area-with-counter="tempEula.EULAText"
text-limit="{{ referenceData.appMetaDataReference.maxEulaChars }}"
text-area-class="med"
text-area-required="tempPageContent.eulaModal.customEula"
text-area-itc-field-server-error="versionInfo.eula.errorKeys"
text-area-itc-field-orig-val="orignalVersionInfo.eula.EULAText"
text-area-itc-field-cur-val="tempEula.EULAText"
text-area-itc-empty-errormsg="Enter the license agreement"
text-area-itc-char-exceed-errormsg="The license agreement can not exceed {{ referenceData.appMetaDataReference.maxEulaChars }} characters"></span> -->
</div>

我需要将从文本文件中提取的大字符串插入到此文本字段中,但使用标准 Watir.textarea.set 将不起作用,因为它会在 30 秒后超时。这是我目前正在尝试做的事情:

@browser.execute_script("arguments[0].value = arguments[1]", text_field, eula_text)

将文本注入(inject)文本字段,但不启用“保存”按钮,该按钮由 native 设置方法触发,而不是由 Javascript 触发。

我看到了 jarib 的一些帖子,建议使用 Mac 的 pbcopy 复制文本,然后使用 send_keys([:command, 'v']),但使用 send_keys 不起作用,尽管文本在 IO 缓冲区中。我尝试了 open 和 popen 方法。我还尝试在 Watir textarea 元素上使用 pbpaste ...

我想不出一个新颖的想法来完成我的任务,任何指向正确方向的指示都将不胜感激。我只是不熟悉 AngularJS 文本字段处理文本输入的方式。我正在使用最新的 watir-webdriver 0.9.1 和 chromedriver。

最佳答案

3 种可能性:

1) 增加客户端超时时间:

client = Selenium::WebDriver::Remote::Http::Default.new
client.timeout = 180

b = Watir::Browser.new :chrome, http_client: client

2) 不要一次完成所有文本:

File.open('xxx.txt').each do |line|
textfield.append(line)
end

3) 使用您的 javascript 代码复制所有内容,然后使用 textfield.append(' ') 启用保存按钮。

关于ruby - 将大文本粘贴到 Ruby 中的 Watir Webdriver 文本字段中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36659535/

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