小编Flo*_* B.的帖子

如何使用Selenium元素来等待、检查、点击而不会再次找到元素?

我是 Selenium 的新手,之前使用过 Telerik 免费测试框架。问题是我无法理解,如何使用已经用 [FindsBy] 识别的元素来等待、检查和点击。

前任:

    [FindsBySequence]
    [FindsBy(How = How.Id, Using = "container-dimpanel")]
    [FindsBy(How = How.CssSelector , Using = ".btn.btn-primary.pull-right")]
    public IWebElement UpdateButton { get; set; }

    internal void ClickUpdateButton(TimeSpan timeout)
    {
        new WebDriverWait(_driver, timeout).
            Until(ExpectedConditions.ElementIsVisible(By.CssSelector(id));
        UpdateButton.Click();
    }
Run Code Online (Sandbox Code Playgroud)

我希望我的代码等待更新按钮可见,然后单击它。但我只想传递 UpdateButton 元素而不是使用 By 选择器。

  • 不确定 UpdateButton.Enabled 是否会等到它可见。

c# selenium selenium-webdriver

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

VB按住按键

我正在创建一个宏程序来记录和播放鼠标和键盘输入.录制工作正常,鼠标播放也是如此,但我在播放键盘输入时遇到了麻烦 - 特别是在释放前按住键几秒钟.这不等于重复按键.这是我尝试过的:

技巧1:Me.KeyDown

 Private Sub keyboard_pressed() Handles Me.KeyDown
        Dim keypress = e.KeyData
        MsgBox(keypress)
    End Sub
Run Code Online (Sandbox Code Playgroud)

仅在窗口处于焦点时才起作用.

技术2:SendKeys

 Private Sub timer_keyboardplayback_Tick() Handles timer_playback.Tick
            SendKeys.Send("{LEFT}")
            timer_playback.Interval = 30
    End Sub
Run Code Online (Sandbox Code Playgroud)

工作失焦,但重复按左箭头而不是按住箭头

技巧3:keybd_event

 Public Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
 Private Sub timer_keyboardplayback_Tick() Handles timer_playback.Tick
      Const keydown = &H1
      Const keyup = &H2
      Dim VK_LEFT = 37
      keybd_event(VK_LEFT, 0, keydown, 0) …
Run Code Online (Sandbox Code Playgroud)

vb.net keyboard-events

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