В SikuliX тип (переменная) всегда печатает переменную, а затем нажимает ввод автоматически. Как мне избежать нажатия Enter?
Извините, если это действительно просто, я не могу найти обходной путь. У меня есть переменная с именем doc
в ней хранится число 510, скопированное из ячейки Excel.
Мне нужно ввести его в поле, но мне нужно продолжить вводить текст в другом поле на той же странице.
Мой код имеет:
type(doc)
Журнал показывает:
[log] TYPE "510#ENTER."
Полный код выглядит так:
type(doc)
wait(1)
type(Key.DOWN)
type(Key.BACKSPACE+Key.BACKSPACE+Key.BACKSPACE+Key.BACKSPACE)
wait(1)
type(code)
Тем не менее, я не могу добраться до type(code)
потому что он переключает страницу, прежде чем я туда доберусь
2 ответа
С помощью paste()
может быть, решил вашу проблему здесь, но это не правильный способ сделать это, поскольку Sikuli автоматически не нажимает какие-либо кнопки.
Ваша проблема, вероятно, с doc
сама переменная. В вашем случае вы, вероятно, просто скопировали символ новой строки в свою переменную из Excel, и поэтому Sikuli нажимает Enter. Чтобы избежать этого, попробуйте убрать новую строку из вашей переменной до ее ввода, например так:
doc.rstrip()
Тогда делай как обычно type(doc)
и это должно быть хорошо.
Еще одна вещь, которая работает: doc.strip()
Оказывается, sikuli пишет /n после строк, поэтому strip удаляет это /n.
Вместо этого используйте paste(doc). Это также более эффективный и быстрый способ ввода текста