我想使用 Selenium 找到以下项目。每当发生变化时,类的值就会发生变化。这是一个复杂的页面(多个 iframe 和其他动态加载的项目)。唯一唯一的 id 是itemid
,它是动态值和title
组合。如果我单击此操作,则会获得另一组新的复杂项目。我是硒的新手。怎么做?
HTML:
<td itemid="xxyyy.as123" title="Actions" nowrap="" class="text-button">Actions <img src="../row.gif"></td>
<td itemid="xxyyy.as123" title="Actions" nowrap="" class="text-button button-active">Actions <img src="../row.gif"></td>
<td itemid="xxyyy.as123" title="Actions" nowrap="" class="text-button button-hover">Actions <img src="../row.gif"></td>
我试过的代码:
通过 Xpath 查找
var element=driver.FindElement(By.XPath("html/body/div[id='pageContent']/iframe/#document/html/frameset/frame[name='detailsDisplay']/#document/html/body/form[name='tableForm']/div[id='divToolbarContainer']/div[id='divToolbar']/div[1][class='toolbar']/table/tbody/tr/td[title='Actions']"));
按链接文本查找
var element = driver.FindElement(By.LinkText("Actions"));
任何帮助,将不胜感激。
最后我能够通过使用框架名称来实现它。
driver.SwitchTo().Frame("content").SwitchTo().Frame("detailsDisplay");
var element = driver.FindElement(By.XPath("//*[@id=\"divToolbar\"]/div[1]/table/tbody/tr/td[1]"));
谢谢大家。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句