我正在尝试自动化在 Instagram 上上传视频/图像的过程(不使用私有 API)。现在我自动化了图像上传,我正在尝试为视频做同样的事情。我正在用electron和来做这件事Nodejs。
单击上传按钮并选择一个图像我执行此代码,实际上工作正常。
const fs = require('fs'),
{remote} = require('electron'),
clipboardy = require('clipboardy'),
BrowserWindow = remote.BrowserWindow;
const LOAD_IMAGE = '.UP43G',
NEW_POST = '.glyphsSpriteNew_post__outline__24__grey_9.u-__7';
function get_files(path){
return fs.readdirSync(path, { withFileTypes: true })
.filter(dirent => dirent.isFile())
.map(dirent => __dirname + '/../../' + path + '/' + dirent.name);
}
function randomRange(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function sleep(ms) {
return new Promise(resolve => …Run Code Online (Sandbox Code Playgroud) 我正在 Ubuntu 中使用 python 3.x,我试图在 tkinter 中显示一些表情符号。在Windows中,我通过显示等效代理对Python:从非BMP unicode char查找等效代理对解决了这个问题,但是在Ubuntu中,当我尝试使用一些表情符号执行此操作时,程序崩溃并给出此错误,
代码:
import tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root)
canvas.pack()
x, y= 0, 0
for _ in range(100):
canvas.create_text(x, y, text='\ud83d\ude4f', anchor=tk.NW)
y += 10
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
错误:
X Error of failed request: BadLength (poly request too large or internal Xlib length error)
Major opcode of failed request: 139 (RENDER)
Minor opcode of failed request: 20 (RenderAddGlyphs)
Serial number of failed request: 199
Current serial number in output …Run Code Online (Sandbox Code Playgroud) 我在 keycloak 中实现了一个自定义用户存储 spi,用于与 mysql 数据库通信。除了特定的情况外,它都以正确的方式工作。
当我转到管理控制台中的用户页面并单击查看所有用户时,检索到的用户将正确显示所有字段(用户名、电子邮件、姓氏、名字)
从上图中,前两个用户是直接从 keycloak 创建的,后两个是从 mysql 数据库检索的。
相反,当我单击打开的页面中的单个用户时,除了用户 ID和用户名之外的所有字段都是空的。
我不明白为什么在视图中所有页面中这些数据都正确显示,而在单用户页面中则不然。我想这是因为 kecloak 尝试从它自己的存储中读取数据,因为
由于存储是使用我写的https://github.com/Linch1/mysql-keycloak-storage-spi(主要登录位于 jar-module 文件夹中)。我认为这种行为的主角是UserAdapter.java文件,在我的文件中我是这样写的:
package mysql.storage.main;
import org.keycloak.component.ComponentModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.storage.StorageId;
import org.keycloak.storage.adapter.AbstractUserAdapterFederatedStorage;
import lombok.extern.jbosslog.JBossLog;
import mysql.storage.entity.User;
@JBossLog
public class UserAdapter extends AbstractUserAdapterFederatedStorage {
private final User user;
private final String keycloakId;
public UserAdapter(KeycloakSession session, RealmModel realm, ComponentModel …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个机器人,这个机器人必须点击一些不能识别鼠标点击但识别触摸的元素,我在网上搜索了一下,我找到了一种模拟触摸事件的方法。我写了这个
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.touch_actions import TouchActions
user_agent = "Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16"
profile = webdriver.FirefoxProfile()
profile.set_preference("general.useragent.override", user_agent)
driver = webdriver.Firefox(profile)
driver.set_window_size(400, 800)
WebDriverWait(driver, 10).until(lambda d: d.find_element_by_css_selector(".qJfNm").is_displayed())
element = driver.find_element_by_css_selector(".qJfNm")
touchactions = TouchActions(driver)
touchactions.tap(element)
Run Code Online (Sandbox Code Playgroud)
并没有引发错误,但它不起作用,屏幕上没有任何变化。根据文档 https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/touch/TouchActions.html
该tap方法可模拟mouse clicks并没有touchscreen events,所以我想知道如果有一个模拟的方式touchscreen events上selenium,或这是正确的方式和我错了,这样做。
我也尝试过写作touchactions.tap(element).perform()而不是touchactions.tap(element)
from selenium import webdriver
from …Run Code Online (Sandbox Code Playgroud) 我在文本中有一个标签,我想获取标签的当前宽度
import tkinter as tk
import tkinter.ttk as ttk
root = tk.Tk()
label = tk.Label(root, text="hello world!")
label.pack()
print("label width: ", label.winfo_width())
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
这是我的问题的一个可执行示例,该方法.winfo_width()始终返回 1。 tkinter 是否有获取标签实际宽度的方法,或者我必须构建它?