【发布时间】:2021-05-17 22:03:08
【问题描述】:
所以我正在编写一个简单的 selenium 脚本来在网络上执行一些操作。该脚本运行良好,出于无聊,我决定让它也有一个 GUI。我不确定我在这里做错了什么。它启动 chrome web 驱动程序,但 gui 永远不会运行。
from tkinter import *
from selenium import webdriver
browser = webdriver.Chrome()
root = Tk()
root.geometry('285x179')
root.configure(background='#F0F8FF')
root.title('MC Vote')
pageField=Entry(root)
pageField.place(x=74, y=26)
voteField=Entry(root)
voteField.place(x=75, y=75)
page=pageField.get()
upvoteCSS=voteField.get()
accounts = ['1','2','3','4']
browser.get(page)
browser.maximize_window()
def btnClickFunction():
for i in accounts:
upvoteButton = browser.find_element_by_css_selector(upvoteCSS)
upvoteButton.click()
browser.get(page)
Button(root, text='Start bot', bg='#F0F8FF', font=('arial', 12, 'normal'), command=btnClickFunction).place(x=99,y=124)
root.mainloop()
Traceback (most recent call last):
File "C:\Users\PycharmProjects\Training\accounts.py", line 36, in <module>
browser.get(page)
【问题讨论】:
-
这就是你的全部代码吗?您缺少导入和变量定义。在它尝试运行之前,您应该会遇到几个错误。
-
错误来自 selenium ,你不能通过 browser.get(page) 它应该是 html 文件或 url 。页面中有什么
-
我没有发布整个脚本,因为它包含私人信息。 “页面”应该是来自文本字段 gui 的输入。
-
我们不需要整个脚本。我们需要的只是足够的可运行代码来重现问题。见minimal reproducible example。但是,问题的根源是您在创建条目小部件后大约一毫秒调用
pageField.get()。用户还没有时间输入任何内容。 -
总是将完整的错误消息(从单词“Traceback”开始)作为文本(不是截图,不是链接到外部门户)有问题(不是评论)。还有其他有用的信息。