#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.