gpt4 book ai didi

c# - 使用 PageFactory 初始化时 IWebElement 没有属性

转载 作者:太空宇宙 更新时间:2023-11-03 15:33:32 25 4
gpt4 key购买 nike

当我这样声明我的 IWebElement 时:

[FindsBy(How = How.CssSelector, Using = "input#raffle_submit")]
private IWebElement _buyNowButton;

并使用 PageFactory 在类构造函数中对其进行初始化:

PageFactory.InitElements(Driver, this);

然后,当我在任何方法中打断点以查看元素的属性时,我在该元素中看不到任何属性:

public CartObj ClickBuyNowButton()
{
_buyNowButton.Click(); //here is my break point
}

我看到的唯一属性是:- Non-Public members : http://prntscr.com/8k90r4

那么 IWebElement 中必须包含的所有属性(如“Enabled”、“Displayed”等)在哪里?

更多要说的:我在使用这个元素时没有任何问题,我可以点击它,我可以向它发送 key ,但是当我使用下一个 JavaScript 代码时,它告诉我论点是错误的(但它之前运作良好):

((IJavaScriptExecutor)Driver).ExecuteScript("arguments[0].scrollIntoView();", webElement);

我执行上面的JS代码后出现的错误:

 Additional information: Argument is of an illegal 
typeOpenQA.Selenium.Support.Events.EventFiringWebDriver+EventFiringWebElement

我确定它与 WebDriver 的版本有关。

所以我当前的 WebDriver 版本是 2.47.0

ChromDriver 版本为 2.19

最佳答案

第一个问题:您在调试器中看到的实际上只是一个代理对象PageFactory 使用代理初始化您的 _buyNowButton,只有当您在脚本中的某处使用它时才会解析该代理。因此,除非您实际使用它,否则您不会在调试器中看到任何属性,例如 DisplayedEnabled

关于您的第二个问题:我现在无法使用 Selenium 3 和最新的 ChromeDriver 重新创建它,但这可能是当时的一个错误。

关于c# - 使用 PageFactory 初始化时 IWebElement 没有属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32779228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com