В 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). Это также более эффективный и быстрый способ ввода текста

Другие вопросы по тегам