gpt4 book ai didi

internet-explorer - Internet Explorer 中的 Selenium WebDriver 单击问题

转载 作者:行者123 更新时间:2023-12-03 15:28:50 25 4
gpt4 key购买 nike

在多个 Windows 7 测试工作站上使用 Selenium WebDriver。

Button 的 FireBug Html 如下:

<input type="submit" style="border-color:Black;border-width:1px;border-style:solid;
font-family:tahoma,arial;font-size:0.7em;" id="UserPassword1_LoginButton"
onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;UserPassword1$LoginButton&quot;,
&quot;&quot;, true, &quot;UserPassword1&quot;, &quot;&quot;, false, false))" value="Log In" name="UserPassword1$LoginButton">

Selenium C# 代码片段如下:
try
{
// Click on the button identified by Id
IWebElement query = Driver.FindElement(By.Id(strControl));
query.Click();
}

在某些 Windows 测试工作站上,按钮单击方法工作得很好。在其他 Windows 7 测试工作站上,单击按钮不会按下按钮,按钮只是突出显示。

我也看到过类似的问题,有时我必须包括两个:
query.Click();

连续命令以使按钮按下。

我们一直在尝试找出不同环境之间的不同之处,但没有提出任何解决方案。

有关如何解决此问题或是否有人对此问题有解决方案的任何想法。

谢谢

最佳答案

你还没有说你看到问题的浏览器是什么,但我将使用我的心理调试能力来推断你可能在谈论 Internet Explorer。 IE 驱动程序存在已知的挑战。

一组挑战是您需要将浏览器的缩放级别设置为 100%,否则 IE 驱动程序无法计算坐标才能正确点击。当单击在一台机器上但在另一台机器上不起作用时,通常会出现这种情况,并记录在 project wiki 中。 .

另一类问题特别涉及 window focus .一种替代方法是仅对 IE 驱动程序使用模拟事件。这种方法有其自身的缺陷,但它可能适用于您的情况。由于您提到您使用的是 C#,因此这里是用于禁用 native 事件的 .NET 绑定(bind)的代码。

InternetExplorerOptions options = new InternetExplorerOptions();
options.EnableNativeEvents = false;
IWebDriver driver = new InternetExplorerDriver(options);

关于internet-explorer - Internet Explorer 中的 Selenium WebDriver 单击问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12148274/

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