gpt4 book ai didi

java - Selenium 悬停代码适用于 Chrome 而不是 Edge

转载 作者:行者123 更新时间:2023-12-02 09:11:06 26 4
gpt4 key购买 nike

public void Hover()
{
Actions action = new Actions(BrowserWindow.Instance.Driver);
action.MoveToElement(WebElement).Perform();
}

这在 Chrome 中有效。不是边缘。我已与开发人员确认我正在“悬停”在正确的元素上。

WebElement elem = yourWebDriverInstance.findElement(By.xpath("//*[@class='goog-menu goog-menu-vertical uploadmenu density-tiny']/input"));
String js = "arguments[0].style.height='auto'; arguments[0].style.visibility='visible';";

((JavascriptExecutor) yourWebDriverInstance).executeScript(js, elem);

这也失败了。有人知道我做错了什么吗?

更多信息。

这在 Firefox 上也失败了。我看到一篇关于过时的 Selenium 驱动程序的文章。我刚刚安装了 geckodriver 并根据文档将 Edge 驱动程序设置为自动更新。我不相信我有过时的驱动程序。

更多信息需要 2

调用代码为

public static void DoCloseActiveTabEntire()
{
Element tab = new Element(byTab);
tab.Hover();

// CLose button is not clickable. Cannot use standard BUTTON for find
Button close = new Button(byClosePanelButton);
close.Click();
}

如果我在按钮关闭处设置断点...尝试悬停后,我注意到将鼠标移到“选项卡”上也不会导致按钮可见。

最佳答案

这很奇怪。但是替换

action.MoveToElement(WebElement).Perform();

action.MoveToElement(WebElement).Build().Perform();

而且它有效。我读到构建是内置于执行中的。但我只是敲打它,希望有什么东西掉下来。结果成功了。

关于java - Selenium 悬停代码适用于 Chrome 而不是 Edge,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59412196/

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