【问题标题】:cssSelector validation for controls withing iframeiframe 中控件的 css 选择器验证
【发布时间】:2014-01-23 19:09:00
【问题描述】:

我的示例页面源代码如下。

即使我切换到 iframe,我也无法访问带有 iframe 的元素(例如 div id="company")。

通常我在实际的 selenium 代码中使用之前在 chrome 控制台中验证 cssSelector,但在这种情况下我不能。 iframe 上方的元素是可访问的。

'<div id="MainContent_TabContainer1_tp1_TabContainer2_TabPanel3" class="ajax__tab_panel"     style="visibility: visible;">
<iframe id="MainContent_TabContainer1_tp1_TabContainer2_TabPanel3_frame1" name="9432 JP"  frameborder="0" height="950px" width="1300" src="report.aspx? report=summary&amp;tic=9432+JP&amp;numcomps=5&amp;regions=United States"></iframe>
#document
<html  xmlns="http://www.w3.org/1999/xhtml"><head>
<head>
<body style="font-family: Calibri;">
<div id="all">
<div class="fixed" id="fixed">
<div id="company" class="company">NIPPON TELEGRAPH &amp; TELEPHONE - 9432 JP</div>
<div id="title" class="title">Telecommunication 
Services</div>'

【问题讨论】:

  • 这里有什么问题?这与 Selenium 或 Selenium WebDriver 有何关联? OP 在他的帖子中根本没有提到任何一个。

标签: iframe selenium selenium-webdriver css-selectors


【解决方案1】:

我不确定您是否已将控件切换到框架,然后才能访问 iframe 中的任何元素。但我认为这是你的问题。

driver.switchTo().frame("put IFrame ID or Name here"); 

【讨论】:

  • 在访问 iframe 下的控件之前,我已切换到 iframe。
  • 在访问 iframe 下的控件之前,我已切换到 iframe。但是当我尝试在 iframe 下访问控制时,它显示我无法找到此元素的错误。我还尝试在 crome 控制台中访问 iframe 下的一些控件,但无法验证 iframe 下控件的 cssSelector。写入cssSelector来访问第一个div是 $$("iframe[id='MainContent_TabContainer1_tp1_TabContainer2_TabPanel3_frame1']>div:nth-of-type(1)")
  • 您能否使用代码更新您的实际帖子。我想看看你是如何编码的。请显示 iframe 代码以及您尝试访问该元素的方式。
猜你喜欢
  • 2015-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-20
  • 2011-01-20
  • 1970-01-01
相关资源
最近更新 更多