【问题标题】:How to use "action" in vb.net using selenium webdriver?如何使用 selenium webdriver 在 vb.net 中使用“动作”?
【发布时间】:2021-04-21 02:44:48
【问题描述】:

我正在使用 selenium webdriver 在 VB.net(2019 版)中自动化 chrome。 我想使用动作向 chrome 发送一些击键。我试过下面的代码

    Dim driver As IWebDriver
    driver = New ChromeDriver
    driver.Navigate().GoToUrl("https://example.com/")
    Dim action1 As Action = New Action(driver)

它在“新操作(驱动程序)”位置向我显示以下错误 “委托”动作:需要作为“地址”表达式或 Lambda 表达式...”

我已导入以下参考资料

Imports SileniumTest
Imports OpenQA.Selenium
Imports OpenQA.Selenium.Firefox
Imports OpenQA.Selenium.Chrome
Imports OpenQA.Selenium.Support.UI
Imports OpenQA.Selenium.Keys
Imports OpenQA.Selenium.Interactions.Actions
Imports OpenQA.Selenium.Interactions

请告诉我是什么导致了这个错误?

PS:我试过用这个

Dim element As IWebElement = driver.FindElement(By.Id("userid"))
element2.SendKeys("xyz" & Keys.Enter)

这东西行得通。

但是,我想使用动作,因为我没有一个文本框的 ID,我想模仿键盘。

【问题讨论】:

    标签: vb.net selenium-webdriver browser-automation


    【解决方案1】:

    在该上下文中使用Action 被解释为System.Action 委托类型。如果您想使用不同的类型,则需要限定名称,例如

    Dim action1 As New OpenQA.Selenium.Action(driver)
    

    如果它是您导入的另一个名称空间的子名称,则您不一定需要完整的名称空间。例如,如果 Action 类型是 OpenQA.Selenium.Interactions.Actions 的成员并且您已导入 OpenQA.Selenium.Interactions,则可以这样做:

    Dim action1 As New Actions.Action(driver)
    

    基本上,您需要唯一标识该类型,以便任何有效并消除其与System.Action 歧义的东西都可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-24
      • 2013-12-05
      • 1970-01-01
      • 2016-07-27
      • 1970-01-01
      • 1970-01-01
      • 2014-01-26
      相关资源
      最近更新 更多