Javascript 如何在一个框架内使用selenium和VBA查找html元素

Javascript 如何在一个框架内使用selenium和VBA查找html元素,javascript,html,vba,selenium,Javascript,Html,Vba,Selenium,我正在尝试将selenium web驱动程序与html页面中的driver.FindElementById“retrieve_button”一起使用,但该命令找不到元素,并不断给我错误信息。我在图像中附加了html代码,我试图找到的元素是图像中代码末尾的输入元素 任何帮助都将不胜感激 尝试使用功能switchToFrame进行切换,如: sel.switchToFrame "Login" // 'Login' is the frame 'name' or 'id'. //Then get y

我正在尝试将selenium web驱动程序与html页面中的driver.FindElementById“retrieve_button”一起使用,但该命令找不到元素,并不断给我错误信息。我在图像中附加了html代码,我试图找到的元素是图像中代码末尾的输入元素

任何帮助都将不胜感激


尝试使用功能
switchToFrame
进行切换,如:

sel.switchToFrame "Login"  // 'Login' is the frame 'name' or 'id'.

//Then get your element 
sel.findElementById("retrieve_button")

的web元素位于
中时,您会看到驱动程序.FindElementById“retrieve_button”
中的错误,该驱动程序包含属性
src
,其值设置为
/index.cgi?top

您需要首先切换到
,然后找到
WebElement
,如下所示:

伪代码:
//切换到所需的帧
driver.switchToFrame(driver.findelelement(By.XPath(“//iframe[contains(@src,'/index.cgi?top')]))
//现在找到元素
driver.findelementbypath(//input[@name='retrieve_button']))
注意:忽略
标记。它们无效


发生这种情况是因为元素位于
iframe
中。嗨,扎卡里亚,你能告诉我如何在iframe中找到元素吗?它与VBA有什么关系?我尝试了driver.switchToFrame(“ncFrameset”),但它说找不到帧。在html中使用了framset标记,id为“ncFrameset”。
//SwitchTo the intended frame
driver.switchToFrame(driver.FindElement(By.XPath("//iframe[contains(@src,'/index.cgi?top<text_not_clear_in_snapshot>')]")))
//find the element now
driver.FindElementByXPath("//input[@name='retrieve_button']")