小编And*_*rew的帖子

Selenium:如何通过部分href找到元素?

工作代码1:

Driver.Instance.FindElement( By.XPath("//a[contains(@href,'" + PartialLinkHref + "')]" ));
Run Code Online (Sandbox Code Playgroud)

工作代码2:

ReadOnlyCollection<IWebElement> linkList = Driver.Instance.FindElements(By.TagName("a"));
for (int i = 0; i < linkList.Count ; i++)
{
     if (linkList[1].GetAttribute("href").Contains(PartialLinkHref))
     {
          element.SetElement(linkList[i]);
          return element;
          break;
     }
}
Run Code Online (Sandbox Code Playgroud)

c# selenium href partial

5
推荐指数
1
解决办法
9166
查看次数

CefSharp网页元素点击

我正在尝试对某些页面元素(如 btn 或链接)进行简单的点击。

我编写了 2 个通过 xpath 和 CSS 选择器单击的函数。

这两个功能在浏览器的开发者控制台中都可以完美运行,但在 CEF 中部分不起作用。

  • 代码完美地点击来自开发者控制台和 Cef 的简单链接
  • 代码完美地点击了来自开发者控制台的确切按钮,但不会从 CEF 中点击。出于某种原因,它只是忽略它......

怎么会这样?js代码完全一样!...

    public void Click(string xpath)
    {
        var js = "document.evaluate(\"" + xpath + "\", document, null, XPathResult.ANY_TYPE, null).iterateNext().click();";

        EvaluateJavascript(js);
    }

    public void ClickCss(string css)
    {
        var js = "document.querySelector('"+ css + "').click()";

        EvaluateJavascript(js);
    }


    public async Task EvaluateJavascript(string script)
    {
        JavascriptResponse javascriptResponse = await Browser.GetMainFrame().EvaluateScriptAsync(script);

        if (!javascriptResponse.Success)
        {
            throw new JavascriptException(javascriptResponse.Message);
        }
    }
Run Code Online (Sandbox Code Playgroud)

细节: 在此处输入图片说明

在此处输入图片说明

使用的点击代码:

_browser.ClickCss("#upload-container a");
Run Code Online (Sandbox Code Playgroud)

再一次:相同的 js 代码在浏览器开发控制台中完美运行,但由于某种原因在 CEF …

c# click cefsharp

5
推荐指数
2
解决办法
1万
查看次数

SwiftUI:将视图调整为内容大小

  1. 我有一些大视图,其中充满了某种子视图
  2. 我不知道视图内容的大小

如何:

  1. 自动调整视图大小以适应其内容
  2. 设置窗口的最大尺寸?(如果内容大于此大小,窗口必须具有此大小,但内容大小不是。)

目前我考虑以下方向:

  1. 用相框把它包起来

    .frame(minWidth: 450, idealWidth: 1000, maxWidth: .infinity, minHeight: 250, idealHeight: 1000, maxHeight: .infinity)
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用 GeometryReader 获取父级大小

但我不知道如何正确地做到这一点

size view swiftui

5
推荐指数
0
解决办法
2086
查看次数

SwiftUI:两指滑动(滚动)手势

我对 2 指滑动(滚动)手势感兴趣。

不是两指拖动,而是两指滑动(无需按下)。就像在 Safari 中用来向上和向下滚动一样。

据我所知,没有一个基本手势可以用于此目的:TapGesture - 不是;LongPressGesture - 不;DragGesture - 不;MagnificationGesture - 不;RotationGesture - 不;

有人知道如何做到这一点吗?

我至少需要看方向。


  • 这是MacOS项目
  • 顺便说一句,我无法在我的项目中使用 UI 类,我无法重新制作项目以进行目录列表

macos swift swiftui

5
推荐指数
2
解决办法
4400
查看次数

SwiftUI,没有按钮/视图实例的快捷键——可能吗?

在 swiftUI 中存在.keyboardShortcut()修饰符:

// run "doSomeAction()" on press of "b" key on the keyboard
Button("SomeBtn") { doSomeAction() }
    .keyboardShortcut("b", modifiers: [])
Run Code Online (Sandbox Code Playgroud)

但要使用此修饰符,您需要有一个Button 实例

问题是——是否可以应用一些修改器而不创建任何无用的视图?

如果我需要将 20 个操作分配给某些键盘按键怎么办?

我是否需要创建 20 个按钮并使其不可见,即使这确实对性能不利?

macos keyboard-shortcuts swiftui

5
推荐指数
2
解决办法
1282
查看次数

Xcode / plist - 在 macOS 上始终以深色/浅色主题运行应用程序

有一个属性可以使应用程序始终在黑暗模式下运行 - UIUserInterfaceStyle

问题是......它在 macOS 上不起作用。

我尝试过设置

  • 。光
  • 1

文件内部的文件更改是正确的:

<key>UIUserInterfaceStyle</key>
<string>Light</string>
Run Code Online (Sandbox Code Playgroud)

但结果总是相同的 - 它只是不起作用,应用程序以主题的系统配置运行。

Xcode:版本 11.3.1 (11C504)

MacOS: 10.15.2 (19C57) 卡塔琳娜

应用程序基于 SwiftUI

macos plist swift swiftui

4
推荐指数
2
解决办法
3434
查看次数

SwiftUI:放大手势可在最小值和最大值之间更改值

我想做与滑块相同的事情:

@State itemSize: CGFloat = 55.60

....

Text("ItemSize: \(itemSize)")
Slider(value: $itemSize, in: 45...120)
Run Code Online (Sandbox Code Playgroud)

但有放大手势。

我为此创建了修改器:

import SwiftUI

@available(OSX 11.0, *)
public extension View {
    func magnificationZoomer(value: Binding<CGFloat>,min: CGFloat, max: CGFloat) -> some View
    {
         self.modifier( MagnificationZoomerMod(minZoom: min, maxZoom: max, zoom: value) )
    }
}

@available(OSX 11.0, *)
public struct MagnificationZoomerMod: ViewModifier {
    let minZoom: CGFloat
    let maxZoom: CGFloat
    @Binding var zoom: CGFloat
    
    public func body (content: Content) -> some View
    {
        content
            .gesture(
                MagnificationGesture()
                    .onChanged() { val in
                        let magnification …
Run Code Online (Sandbox Code Playgroud)

macos gesture magnification swiftui

4
推荐指数
1
解决办法
914
查看次数

如何应用修饰符或按条件查看

@State var modifierEnabled : Bool

struct BlankModifier: ViewModifier {
    func body(content: Content) -> some View {
        content
    }
}

extension View {
    func TestModifierView() -> some View{
       return self.modifier(BlankModifier())
    }
}
Run Code Online (Sandbox Code Playgroud)

TestModifierView仅在以下情况下如何申请modifierEnabled == true

swiftui

3
推荐指数
1
解决办法
1270
查看次数

SwiftUI:检查 WINDOW(非应用程序)是否激活(成为前台)的方法

当我的应用程序变为前台时,我需要调用一些事件方法

(我为每个视图使用 ViewModel,所以我不仅可以从视图调用某些东西)

例如:

  1. 我的应用程序已运行;

  2. 将前台窗口更改为 Safari 应用程序。

  3. 将前台窗口更改为我的应用程序 - >调用一些方法。

.onChange(of: scenePhase) -> .active这种情况下什么也没有发生

所以这些代码对我来说不是解决方案:

struct ContentView: View {
    @Environment(\.scenePhase) private var scenePhase
    var body: some View {
        TestView()
            .onChange(of: scenePhase) { phase in
                switch phase {
                    case .active:
                        print("App is active")
                    default:
                        break
                }
            }
    }
}
Run Code Online (Sandbox Code Playgroud)

macos swift swiftui

3
推荐指数
2
解决办法
1493
查看次数

通过 ID 集合查询对象的 Realm

有没有办法通过 Id 的集合查找对象列表?

像java的代码:

realm.where(Foo.class).in("id", ids).findAll();
Run Code Online (Sandbox Code Playgroud)

目前我有以下代码:

public interface IKeyedEntity
{
    string Id { get; set; }
}

public class RealmServiceWrapper<T> where T: RealmObject, IKeyedEntity
{
    public List<T> Get(List<string> ids)
    {
        return _db.Realm.All<T>().Where(a => ids.Contains(a.Id)).ToList();
    }
}
Run Code Online (Sandbox Code Playgroud)

但这仍然不起作用,因为ids.Contains(a.Id).Net Realm 不支持

c# 中是否存在任何替代.in("id", ids)方法?

c# realm

2
推荐指数
1
解决办法
531
查看次数