我对 Dart 和 Flutter 有疑问。所以我试图重构一些代码,但我陷入了引用问题。
class _LoginPageState extends State<LoginPage> {
String _email;
String _password;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: new AppBar(
title: new Text("Login Page"),
),
body: new Container(
padding: new EdgeInsets.all(16),
child: new Form(
child: new Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: buildInputs()
)),
));
}
Widget buildInput(String label, String val) {
return new TextFormField(
decoration: new InputDecoration(
labelText: label,
),
validator: (value) => value.isEmpty ? "$label can't be empty" : null,
onSaved: (value) => val = value, …Run Code Online (Sandbox Code Playgroud) 任何人都可以向我解释我在这里做错了什么吗?
struct X {
int x{};
explicit X(int x) : x(x) {}
virtual X &operator++() = 0;
};
struct OK : X {
int ok{};
explicit OK(int ok) : X(ok), ok(ok) {}
X &operator++() override {
ok += 10;
return *this;
}
};
struct MU : X {
int mu{};
explicit MU(int mu) : X(mu), mu(mu) {}
X &operator++() override {
mu *= 5;
return *this;
}
};
int main() {
X *x_base = new OK(0);
++x_base;
std::cout << x_base->x; …Run Code Online (Sandbox Code Playgroud) 我正在尝试根据一系列图像创建视频并将其显示在浏览器中,但是由于某种奇怪的原因,无论我使用哪种编解码器或文件格式,都会出现以下错误:
找不到支持格式和哑剧类型的视频
这是我的代码:
ready_images = []
import cv2
for img in videos['Images']:
image = cv2.imread(img.fileName)
ready_images.append(image)
fourcc = cv2.VideoWriter_fourcc(*'MP4V')
video_name = videos['Images'][0].gifLocationPath + "//" + videos['Name']
frame = cv2.imread(videos['Images'][0].fileName)
height, width, layers = frame.shape
video_name = video_name[:-4]+".mp4"
video = cv2.VideoWriter(video_name, fourcc, 20.0, (width, height))
for image in ready_images:
video.write(image)
cv2.destroyAllWindows()
video.release()
Run Code Online (Sandbox Code Playgroud)
有趣的是,在Firefox或Chrome浏览器中,视频无法正常运行,但在Edge中却可以正常运行。
我不想使用FFMPEG,而是希望使其与OpenCV一起使用。
如果你们中有人知道我应使用哪种视频格式(我知道Web格式是webm,ogg,mp4)或编解码器,请告诉我。
谢谢。
所以我有这个链接,我试图从这个 XPath 获取文本//div[@class='titlu'],但由于某种原因,有时我得到的文本应该是这样的,有时我收到一个空字符串,即使该网站包含该文本。
我尝试过什么:
wait = WebDriverWait(self.driver, 10)
wait.until(EC.presence_of_element_located((By.PARTIAL_LINK_TEXT, "Ap. de lux 3 ")))
e = self.driver.find_element_by_xpath(html_data.xpath)
Run Code Online (Sandbox Code Playgroud)
还:
wait = WebDriverWait(self.driver, 10)
wait.until(EC.presence_of_element_located((By.XPATH, xpath)))
e = self.driver.find_element_by_xpath(xpath)
Run Code Online (Sandbox Code Playgroud)
我也使用过这种类型的等待:
self.driver.implicitly_wait(10)
Run Code Online (Sandbox Code Playgroud)
我此时如何获取文本:
self.driver.find_element_by_xpath(xpath).text
Run Code Online (Sandbox Code Playgroud)
我在这里遇到的问题是,文本在某些情况下拒绝出现,而在其他情况下却出现,即使实际的 XPath 已找到并且它已经存在。也许没有完全加载,你们能给我一些关于如何解决这个问题的建议吗?
更新:
另外,我试图使用 selenium 获取它的位置和大小,但它们都将为 0。知道如何解决这个问题吗?
with, height = self.driver.find_element_by_xpath(html_data.xpath).size
x, y = self.driver.find_element_by_xpath(html_data.xpath).location