使用Selenium Web驱动程序在iframe中查找复选框时遇到问题

使用Selenium Web驱动程序在iframe中查找复选框时遇到问题,selenium,checkbox,click,Selenium,Checkbox,Click,我正在尝试使用Web驱动程序和python在基于Javascript的网站的iframe中找到一个复选框。我尝试过通过ID和XPATH进行定位,但这两种方法都不起作用,因为我一定是找错了方向。用户可以在页面上看到该复选框,selenium IDE似乎也给出了与我相同的答案,但它仍然会导致“NoTouchElementException:Message:u”“找不到元素” 复选框的html:input type=“checkbox”onclick=“CE.CESECUR.onClickFullSe

我正在尝试使用Web驱动程序和python在基于Javascript的网站的iframe中找到一个复选框。我尝试过通过ID和XPATH进行定位,但这两种方法都不起作用,因为我一定是找错了方向。用户可以在页面上看到该复选框,selenium IDE似乎也给出了与我相同的答案,但它仍然会导致“NoTouchElementException:Message:u”“找不到元素”

复选框的html:input type=“checkbox”onclick=“CE.CESECUR.onClickFullSecurity()”id=“cefullsecurity”

硒代码: _设置\u ssl\u locator=(By.XPATH,“./*[@id='cefullsecure'和onclick='CE.CESECUR.onClickFullSecurity()”)


我认为您需要首先切换到帧,然后定位元素,对帧上的元素执行任务/操作,然后切换回上一帧

WebElement checkBoxframe = driver.findElement(By.tagName("enter frame name here"));
driver.switchTo().frame(checkBoxframe);
//write your selenium code here for checkbox
driver.switchTo().defaultContent();

实际上,复选框在一个iframe中,我还不知道如何使用selenium处理不同的帧。好的,我通过添加self.selenium来解决它。将\u切换到\u frame('iframe\u name'))
WebElement checkBoxframe = driver.findElement(By.tagName("enter frame name here"));
driver.switchTo().frame(checkBoxframe);
//write your selenium code here for checkbox
driver.switchTo().defaultContent();