我正在尝试使用selenium来定位此元素并单击此元素,但变体每次都会更改。我需要selenium点击这个按钮," M"。如何在不使用" 33246615686"的情况下找到此元素。
<label class="radio-label " for="variant-select-33246615686">M</label>
答案 0 :(得分:6)
尝试关注XPath
:
//label[text()="M"]
答案 1 :(得分:1)
您可以使用文字&#39; M&#39;通过xpath找到它:
//label[contains(text(),"M")]
答案 2 :(得分:0)
//label[.="M"]
你可以查看这个网址:
答案 3 :(得分:0)
上面的答案可行,但它是脆弱代码的秘诀。我尽量避免使用标签文本。更好的定位器将是:
//label[starts-with(@for, 'variant-select')]
或
//label[contains(@for,'variant-select')]
另外,如果您将在本地化测试中使用它,例如,它将失败,因为文本将使用应用程序在测试时设置的语言环境语言编写。例如,中文的M
将为米
,因此text()
将不会看到此文字。考虑在您的应用程序中本地化?这样更好。