Tkinter / Pyautogui и автоматизация

#python-3.x #pyautogui #tkinter-entry

#python-3.x #pyautogui #tkinter-запись

Вопрос:

интересно, может ли кто-нибудь помочь с этой проблемой, с которой я сталкиваюсь.

При попытке автоматизировать трассировку через Winbox с помощью Tkinter и Pyautogui проблема заключается в том, что Pyautogui вводит IP-адрес, введенный в поле ввода TK, а затем вводит его в Winbox.

В настоящее время он может вводить любое обычное число в поле IP winbox, однако при попытке ввести IP-адрес, использующий полные остановки, он дает сбой. Вот код ошибки:

 line 30, in Trace
    int_answers = int(Ent1.get())
ValueError: invalid literal for int() with base 10: '192.168.0.1'
 

код:

 import pyautogui as pt
from time import sleep
import pyperclip
import random
import tkinter as tk
from tkinter import *

root = tk.Tk()
root.title("AutoNet")
root.geometry("400x400")

sleep(3)
vT = IntVar()
Ent1 = tk.Entry(root, textvariable=vT, show=None,  font=("Arial", 12), fg="Grey")
Ent1.grid(row=1, column=1)


def Trace():
    global x, y


    position = pt.locateOnScreen("win.png", confidence=.6)
    x = position[0]
    y = position[1]

    pt.moveTo(x, y, duration=.5)
    pt.moveTo(x   125, y - -60, duration=.5)
    pt.doubleClick()
    pt.press('del')
    int_answers = int(Ent1.get())
    pt.typewrite(str(int_answers))



btn1 = tk.Button(root, text='Traceroute', justify='center', font=("Arial", 10), command=Trace)
btn1.grid(row=1, column=3)



root.mainloop()
 

Комментарии:

1. Почему вы делаете это целым числом, почему бы просто не передать его как строку

2. Это хороший вопрос. >. < В итоге я просто обошел его с помощью pyperclip и chromedriver, чтобы получить IP-адрес из CRM.