通过python粘贴输入字段

时间:2017-01-18 09:03:35

标签: python python-2.7 xdotool

我很难找到将输入粘贴到输入字段的正确解决方案。我正在使用库Xdo。

我在做什么?

Python文件在后端运行。

该程序从智能卡中获取数据。

返回的数据是数字/英语和泰语。

然后在浏览器中,当我点击一个输入按钮时,这些值将被粘贴到输入按钮。

有什么问题?

数字数据(身份证/生日)在浏览器中正确打印。

泰国文字给人带来麻烦。它们有时不插入或部分插入。

*这曾经在** windows 机器上工作,但我使用的是另一个库(SendKeys for windows program)。但是在 linux 上使用Xdo会给我带来麻烦。***

以下是我的示例代码

 from xdo import Xdo
 xdo = Xdo()
 res = convert_data(resultlist)
 title_th = res['title_th']
 fname_th = res['fname_th']
 lname_th = res['lname_th']
 birthday = res['birthday']
 address = res['address']

 win_id = xdo.get_focused_window()
 xdo.enter_text_window(win_id, res['id'])
 xdo.send_keysequence_window(win_id,'Tab')
 xdo.enter_text_window(win_id,str(title_th.decode('tis-620')))
 xdo.send_keysequence_window(win_id,'Tab')
 xdo.enter_text_window(win_id,str(fname_th.decode('tis-620')))
 xdo.send_keysequence_window(win_id,'Tab')
 xdo.enter_text_window(win_id,str(lname_th.decode('tis-620')))
 xdo.send_keysequence_window(win_id,'Tab')
 xdo.enter_text_window(win_id,str(birthday.decode('tis-620')))
 xdo.send_keysequence_window(win_id,'Tab')
 xdo.enter_text_window(win_id,str(address.decode('tis-620')))
 xdo.send_keysequence_window(win_id,'Tab')

以下是示例图片。

如您所见,部分泰语文本已部分输入,其他部分则被跳过。

enter image description here

非常感谢您寻找任何建议或我当前解决方案的任何替代方案。

1 个答案:

答案 0 :(得分:0)

我设法解决了上述问题,而不依赖于Python libxdo工具。

我已设法使用命令行xdotool和xsel解决。

查看此链接以获取详细信息SOLVED