【发布时间】:2018-05-05 03:59:39
【问题描述】:
我想使用 Selenium 找到以下项目。只要有变化,类的值就会发生变化。这是一个复杂的页面(多个 iframe 和其他动态加载的项目)。唯一的唯一id是itemid,是动态值和title的组合。如果我单击此操作,我将获得另一组新的复杂项目。我是 Selenium 的新手。该怎么做?
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"));
任何帮助将不胜感激。
【问题讨论】:
-
在切换到正确的帧之前,您无法对元素执行任何操作。
-
这个页面有大约 10 个 iframe 和其他元素。如何获得正确的框架?
-
帧是动态变化的吗?
-
您要点击的元素是在哪个iframe下?至少是静态的吗?
-
进入网页是动态更新的。
标签: selenium selenium-webdriver selenium-chromedriver