aspx应用对话框页面(或#dialogiframe)无法通过selenium在chrome / chromePortable上与chromedriver 76一起加载。当我们在aspx应用程序中打开任何对话框页面时,它将打开空白页面,并且硒会失败,并出现NoSuchElement Found异常。但是,我们在相同的浏览器版本上手动进行了尝试,并且可以完美地手动加载。 仅当我们使用Chrome驱动程序75+启动浏览器时,这种情况才会发生。
浏览器: Chrome / ChromePortable 76 Chrome驱动程序版本::75.x及更高版本 硒版本: 3.13 语言: C#
我们尝试使用硒在C#中将w3c设置为false,但由于存在以下问题而无法使用:https://github.com/SeleniumHQ/selenium/issues/7521
似乎style ='height:fit-content'阻止了页面的加载。当我们删除样式或更改样式时。
var frame = driver.FindElement(By.CssSelector("dialog[open]:last-of-type #dialogiframe")).UnwrapAllLayers();
driver.SwitchTo().Frame(frame);
var element = driver.FindElement(By.CssSelector("td[style = 'height:fit-content']"));
var jsExecutor = (IJavaScriptExecutor)driver;
jsExecutor.ExecuteScript("arguments[0].style=''", element);