0

我是 Selenium 的新手。我无法捕捉到 id 值,因为每次刷新都会重新生成该值 id=ClientAgreements_863f4ace-84fb-4dbb-bb8c-7d7835ceaec9__AgreementType

<td>select</td>
<td>id=ClientAgreements_863f4ace-84fb-4dbb-bb8c-7d7835ceaec9__AgreementType</td>
<td>label=New</td>
4

2 回答 2

2

如果 ClientAgreements OR AgreementType 文本是固定的,那么您可以尝试

//div[contains(@id,'ClientAgreements')]
//div[contains(@id,'AgreementType ')]
于 2012-07-19T10:04:51.090 回答
1

如果id一直在变化,那么通过id. 您需要制定一个始终稳定的定位策略。

正如 Rohit Ware 所说,如果ClientAgreements和/或AgreementType在 id 中就足够了,您可以通过 XPath 找到它:

xpath=//*[contains(@id,'ClientAgreements')]
xpath=//*[contains(@id,'AgreementType')]
xpath=//*[contains(@id,'ClientAgreements') and contains(@id,'AgreementType')]

如果没有,请寻找该元素的其他独特品质。是否有一个name属性或一个独特的类?它是否总是页面上具有特定属性的第一个(第二个,第三个?)元素?它是否包含任何特定的文本?它是您可以轻松找到的元素的子元素吗?

如果您希望我们为您提供帮助,请向我们展示该元素的 HTML 代码 - 如果您认为相关,您也可以添加一些周围的元素。我们将提出一个解决方案,但您必须以任何一种方式查看 CSS 选择器和/或 XPath,以便您下次能够自己解决它。

如果您想帮助自己,请参阅 Google CSS 选择器教程XPath 教程并学习。

于 2012-07-19T10:41:35.333 回答