如何在不使用变量定位的情况下找到此元素?

时间:2017-01-25 20:22:10

标签: python selenium xpath webdriver automated-tests

我正在尝试使用selenium来定位此元素并单击此元素,但变体每次都会更改。我需要selenium点击这个按钮," M"。如何在不使用" 33246615686"的情况下找到此元素。

<label class="radio-label " for="variant-select-33246615686">M</label>

4 个答案:

答案 0 :(得分:6)

尝试关注XPath

//label[text()="M"]

答案 1 :(得分:1)

您可以使用文字&#39; M&#39;通过xpath找到它:

//label[contains(text(),"M")]

答案 2 :(得分:0)

答案 3 :(得分:0)

上面的答案可行,但它是脆弱代码的秘诀。我尽量避免使用标签文本。更好的定位器将是:

//label[starts-with(@for, 'variant-select')]

//label[contains(@for,'variant-select')]

另外,如果您将在本地化测试中使用它,例如,它将失败,因为文本将使用应用程序在测试时设置的语言环境语言编写。例如,中文的M将为,因此text()将不会看到此文字。考虑在您的应用程序中本地化?这样更好。