-3

通过 selenium 自动化应用程序,其中 id 动态更改。我该如何处理。请帮助我..

HTML 代码是:-

<table border="0" cellpadding="0" cellspacing="0" width="1000px">
 <tbody><tr id="ctl00_ctl00_MainContent_CarQuoteMainContent_rpQuotes_trSelectedQuote_0">
 <td align="center" valign="middle" width="12%">
 <input id="ctl00_ctl00_MainContent_CarQuoteMainContent_rpQuotes_chkCompare_0" name="ctl00$ctl00$MainContent$CarQuoteMainContent$rpQuotes$ctl00$chkCompare" type="checkbox">
</td>
4

2 回答 2

0

在这两种情况下(和),我假设 ID 的第一部分是唯一的。所以你可以使用这样的东西。//tr[contains(@id,'ctl00_')] 和输入字段 //input[contains(@id,'ctl00_')]。

于 2013-01-22T17:26:59.617 回答
0

这些看起来不像动态 ID,而是列表中元素的非内容特定的行 ID。

如果是这种情况,您无法仅从该信息中立即确定“此行元素正在显示 MyCarQuotes.com 的数据”,因为显示的 HTML 中没有任何内容可作为该查询的基础。

如果行中有一些东西可以用来“识别”内容(例如公司名称)——并且你有一个想要与之交互的特定“东西”——你可以封装查找并执行类似的操作

CheckboxForQuoteFromCompany("MyCarQuotes.com").Click();

如果您能够发布更多的 HTML(至少一整行),更重要的是您的测试意图,我们可能会提供更多帮助。

于 2013-01-24T11:03:34.483 回答