C# 带RadWindow的Selenium Web驱动程序
我正在尝试访问RadWindow中的表单。该网页使用C# 带RadWindow的Selenium Web驱动程序,c#,selenium,webdriver,selenium-webdriver,radwindow,C#,Selenium,Webdriver,Selenium Webdriver,Radwindow,我正在尝试访问RadWindow中的表单。该网页使用window.radopen()生成ASP.NET弹出窗口。我需要访问该弹出窗口,编辑它,然后单击按钮。有没有办法使用SeleniumWebDriver实现这一点 具体来说,radwindow包含一个id为“txtEntries”的文本区域和一个id为“Btnacept”的按钮。我试着先找到textarea,如下所示,但运气不好 我目前正在尝试: state = wait.Until<IWebElement>((d) =>
window.radopen()
生成ASP.NET弹出窗口。我需要访问该弹出窗口,编辑它,然后单击按钮。有没有办法使用SeleniumWebDriver实现这一点
具体来说,radwindow包含一个id为“txtEntries”的文本区域和一个id为“Btnacept”的按钮。我试着先找到textarea,如下所示,但运气不好
我目前正在尝试:
state = wait.Until<IWebElement>((d) =>
{
return d.FindElement(By.CssSelector("div#radWindow #txtEntries"));
});
state=wait.Until((d)=>
{
返回d.FindElement(由.CssSelector(“div#radWindow#txentries”);
});
失败的结果。是的,有一种方法。。由于RadWindow不是一个实际的窗口,它使它变得非常简单 首先,使用CSS并具有父选择器。大概
div#radWindow
然后只需添加您想要找到的元素即可。e、 g
input[type='text'].someclass
然后把它们连接起来,就变成这样了-
div#radWindow input[type='text'].someclass
它在CSS中翻译为“首先找到一个id为radWindow的div,然后找到一个作为该div后代的输入,该div的
类型属性等于文本,该属性附加了someclass
。这如何转换为使用Selenium WebDriver?我一直在使用driver.FindElement(By.id(“id”));通常。查找代码是什么样子的?它看起来像,findelelement(由.cssSelector(“div#radWindow input[type='submit']))
我已经尝试了你的代码并编辑了我的OP以包含我的尝试,但它仍然找不到元素。有什么想法吗?我不知道RadWindow的。检查RadWindow使用的父元素并使用它。#RadWindow只是我的猜测。#你必须弄清楚它是什么,我看不到rad窗口的任何代码oads in.我知道它是使用一个单独的页面加载的,类似于ajax,可以看到代码,但看不到从主页加载时它是如何适应的。我不太了解rad windows。从我使用rad控件的噩梦中,我相信它使用了iframe?你能深入到HTML源代码并检查一下吗?.NET内容不是我的事。从我@Arran;)