excel - Ruby Selenium send_keys_characters 没有发送我想要的字符串
问题描述
xlsx = Roo::Excelx.new($docs_dir + '/mytestsheet.xlsx')
xlsx.each_row_streaming do |row|
send_keys_characters(row)
step %[I wait for 2 sec]
end
end
我一直在努力从 xlsx 文件中提取值并将每个带有 send_keys_characters 的单元格发送到我网站上的手动输入字段中;我在这里有 2 个问题,我似乎无法找出解决方案:
- 它不会仅提取我想要的单元格的值,例如“test1”、“test2”,而是在另一个excel 功能之后写入:[#<Roo::Excelx::Cell::String:0x0000000008076b30 @cell_value=" test1", @style=0, @coordinate=[1, 1], @value="test1">] [#<Roo::Excelx::Cell::String:0x0000000006399800 @cell_value="test2", @style= 0, @coordinate=[2, 1], @value="test2">]
如何仅提取单元格的值并在我的输入字段中提及它然后提交?
- 它需要选择第一个值,然后提交并继续该场景,然后返回并选择第二个值,以此类推……如何一次选择一个值,然后进入下一步?
解决方案
这是一个红宝石/硒问题。
所以本质上你的问题是寻找代码来枚举你的对象并发送你想要的值。
我不熟悉 Roo,但如果他们使用标准阅读器,那么你就可以
array.each do |excel_string|
input_field.send_keys(excel_string)
end
这将连接所有的值,所以你的输入字段会说test1test2
等
如果您需要在一组字段中输入这些,即 input_field 1/2/3 我会用它#zip
来创建一个二维数组对
text_values = array.map(&:value)
zipped_array = input_fields.zip(text_values)
zipped_array.each do |input_field, value|
input_field.send_keys(value)
end
推荐阅读
- docker - 使用 docker-desktop 在本地 kubernetes 集群上使用 FlexVolume
- docker - 如何调试因退出代码0而随机死亡的docker容器
- java - 为什么在尝试使用 3 状态复选框时 Timber 会给我一个 NoClassDefFoundError?
- javascript - 在 HandleSubmit 之后使用 React 重定向路由器
- python - 如何返回程序顶部
- ruby-on-rails - Destroy_with_password 总是返回 false
- python - 使用正则表达式对python中的字符串列表进行排序
- php - 退格会导致用户输入后清除整行
- java - 创建一个接口并在另一个包中实现它
- entity-framework-migrations - 生成初始迁移时出错:类型或命名空间名称“迁移”不存在