html - 已解决:RSelenium 错误 - com.google.common.collect.Maps$TransformedEntriesMap 与 java.lang.CharSequence 不兼容
问题描述
我正在尝试使用 RSelenium 为我的工作自动执行数据输入任务,在该任务中,我必须将一些变量输入到在线系统中。有 5 个变量要输入,我的代码适用于所有变量,除了一个“名字”条目。
remDr$findElement("css selector", "#ctl00_CPHMain_frvProfile_txtFederatedUserID")$sendKeysToElement(list(NetID[i]))
remDr$findElement("css selector", "#ctl00_CPHMain_frvProfile_txtUserName")$sendKeysToElement(list(ID[i]))
remDr$findElement("css selector", "#ctl00_CPHMain_frvProfile_txtFirstName")$sendKeysToElement(list(First[i]))
remDr$findElement("css selector", "#ctl00_CPHMain_frvProfile_txtLastName")$sendKeysToElement(list(Last[i]))
remDr$findElement("css selector", "#ctl00_CPHMain_frvProfile_txtEmail")$sendKeysToElement(list(Email[i]))
前两个和后两个都完美地输入了数据,但中间的代码片段抛出:
Selenium message:com.google.common.collect.Maps$TransformedEntriesMap incompatible with java.lang.CharSequence
Error: Summary: UnknownError
Detail: An unknown server-side error occurred while processing the command.
Further Details: run errorDetails method
在我的谷歌搜索和故障排除中,我从未见过这个错误,我很奇怪它只适用于我的一个元素。有谁能帮忙吗?
编辑:这是我从中提取的页面的 HTML:
<a href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$CPHMain$frvProfile$ctl02", "", true, "", "", false, true))">Save & Close</a>
</li>
</ul>
</div>
<table align="left" style="width: 100%">
<tr>
<td align="right">
<strong>
<label for="ctl00_CPHMain_frvProfile_txtFederatedUserID" id="ctl00_CPHMain_frvProfile_lblFederatedUserID">Federated User ID</label>
</strong>
</td>
<td colspan="2">
<input name="ctl00$CPHMain$frvProfile$txtFederatedUserID" type="text" id="ctl00_CPHMain_frvProfile_txtFederatedUserID" />
<span id="ctl00_CPHMain_frvProfile_rfvFederatedUserID" style="display:none;">*</span>
<span id="ctl00_CPHMain_frvProfile_cvFedID" style="display:none;"><br/>*Federated User ID already in use</span>
</td>
</tr>
<tr>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td align="right">
<label for="ctl00_CPHMain_frvProfile_txtUserName" id="ctl00_CPHMain_frvProfile_lbltxtUserName">Username</label>
</td>
<td colspan="2">
<input name="ctl00$CPHMain$frvProfile$txtUserName" type="text" id="ctl00_CPHMain_frvProfile_txtUserName" />
<span id="ctl00_CPHMain_frvProfile_rfvUserName" style="display:none;">*</span>
<span id="ctl00_CPHMain_frvProfile_cvUserName" style="display:none;"><br/>*Username already in use</span>
</td>
</tr>
<tr>
<td>
</td>
<td>
</td>
</tr>
<td align="right">
<label for="ctl00_CPHMain_frvProfile_txtFirstName" id="ctl00_CPHMain_frvProfile_lbltxtFirstName">First Name</label>
</td>
<td colspan="2">
<input name="ctl00$CPHMain$frvProfile$txtFirstName" type="text" id="ctl00_CPHMain_frvProfile_txtFirstName" />
<span id="ctl00_CPHMain_frvProfile_rfvFirstName" style="display:none;">*</span>
</td>
</tr>
编辑 2:已解决!导入 csv 时我搞砸了。我不得不在同一个 csv 中创建一个具有相同数据的新列,并且由于某种原因有效。
解决方案
此错误消息...
Selenium message:com.google.common.collect.Maps$TransformedEntriesMap incompatible with java.lang.CharSequence
sendKeysToElement()
...表示调用WebElement时发生错误。
关于基于文本的HTML的用例的更多详细信息将有助于我们以更好的方式分析问题。由于您可以填写UserName字段,因此如果用户名是唯一的,则可能会验证用户名,因此FirstName字段保持不可交互。因此,您会看到错误。
您需要诱导一些等待FirstName字段可交互。
参考
您可以在以下位置找到相关讨论:
推荐阅读
- python - PYTORCH支持的“torch.nn.CTCLoss”和torch_baidu_ctc支持的“CTCLoss”有区别吗?
- python - python中的process.pid在macOS mojave上给出错误的值
- ionic-framework - Android 4.4.4 上的 Ionic 4 上的黑屏
- asp.net-mvc - 当服务器位于 AWS ELB 之后时,ASP.NET Core MVC 应用程序如何获取客户端 IP 地址?
- sql-server - SQL Server 中带有多分隔符的 STRING_SPLIT
- react-native - 请帮助我使用绝对位置样式
- python - Python仅更改某些值的日期格式
- javascript - 全屏 YouTube 视频作为背景,没有共享/稍后观看/图标/开始按钮
- angular - NGXS - 从父状态中选择子状态
- coq - Coq 中的保留关键字是什么?