我有以下元素,其中第一部分始终保持不变(_wrapper_),但第二部分(12npv_9)始终在新构建后更改其值
<div class="_wrapper_12npv_9">
我想编写一个定位器,它始终选择类名的第一部分,而不考虑第二部分。到目前为止,我已经有了这个,但它显示错误“找不到名称'_wrapper_'”
await page.locator('div[contains(@class,'_wrapper_')]')
我怎样才能做到只考虑类名的第一个常量部分,即“_wrapper_”?
page.locator
可以接受 CssSelector
或 XPath
并自行识别您输入的是哪一个。 XPath
,这就是您的问题:
// Wrong - Missing "//" at the beginning and uses single quotes within single quotes
await page.locator('div[contains(@class,'_wrapper_')]')
// Correct
await page.locator("//div[contains(@class, '_wrapper_')"]
此外 - 在这种情况下,最好使用
starts-with
而不是 contains
,如下所示:
await page.locator("//div[starts-with(@class, '_wrapper_')"]