有没有办法把 selenium Chrome(驱动程序)窗口嵌入到tkinter窗口中?

qnzebej0  于 5个月前  发布在  其他
关注(0)|答案(1)|浏览(57)

我是这里的初学者。我正在使用Tkinter操作Selenium。Tkinter中也显示了部分内容和其他信息,但随着我的使用,这两个窗口变得越来越麻烦。请告诉我是否有方法将它们合并合并为一个。
从我的Angular 来看,我在我的历史上写了很长的代码,如果可能的话,我不想使用像我在搜索中看到的非 selenium 浏览工具(我不想从头开始重写)。
作为参考,我的代码中使用的库如下:

from time import sleep
import sys
import selenium
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

import tkinter as tk
from tkinter import scrolledtext
from tkinter import ttk
from tkinter import *
import threading
import queue
import os
from datetime import datetime
import configparser
import errno

字符串
谢谢你,谢谢
我试过:我问过聊天GPT,搜索过这个网站和一些网站,但我没能找到一种方法来合并Selenium和Tkinter窗口。

js4nwp54

js4nwp541#

老实说,你不能在tkinter窗口中嵌入任何现代的webbrower,有一个项目有chromium嵌入(不再):source : cef python
渲染到tkinter的原因浏览器必须支持渲染到一个窗口id(如果它支持,那么你可以通过传递tkinter.winfo_id()到web浏览器来渲染它)。但据我所知,目前还没有任何更新的模块或代码可以用来嵌入任何web浏览器到tkinter中。所以你不能在tkinter中运行Chrome。
摘要

  • tkinter唯一的官方浏览器是很多年前更新的,它甚至不支持现代的html或js source : tkhtml
  • 一个能够在tkinter中运行chrome(Chrome)的项目已经有3年没有更新了,而且它已经支持了新的python版本。source : cef python
  • 因此,由于 chrome (Chrome)不能嵌入到tkinter,有没有办法,你可以使用 selenium Chrome驱动程序(窗口)内的tkinter窗口。

我已经做了很多研究,唯一可能的方法是使用Gecko(并使selenium使用Gecko(Firefox)),但它从来都不简单,你实际上可能需要编译Gecko并嵌入它,并创建自己的API来与selenium通信。此外,它将导致一个大的可执行文件大小。所以使用另一个GUI而不是tkinter(因为它非常古老,无法运行现代浏览器)
或者你可以做一些类似你自己的API:)的东西,比如这个tkinter的视频播放器(带声音),这在tkinter中是不可能实现的:tkinter videoplayer with sound
如果这个答案对你有帮助的话,也请支持这个答案:)

相关问题