HarmonyOS鸿蒙Next中Hypium控件属性查找如何使用正则表达式
HarmonyOS鸿蒙Next中Hypium控件属性查找如何使用正则表达式 Hypium版本6.0.7.202
我们在尝试使用Hypium对bilibili进行控制,当我们尝试在app中切换分辨率时,我们发现分辨率控件是一个Text类型的属性,且其值随着当前分辨率变化,共有以下取值[“480P 标清”, “720P 准高清”, “1080P 高清”, “4K 超高清”],因此我们想要通过BY选择器的模糊匹配方式进行点击。在查阅文档后,BY选择器支持通过传入MatchPattern.REGEXP进行正则匹配,但是我们尝试了多种写法的正则表达式,均无法找到控件。
以下是我们尝试的写法,不管是什么写法,返回值都是None
comp = self.driver.find_component(BY.text(r"^(480P|720P|1080P|4K|HDR)$",MatchPattern.REGEXP))
comp = self.driver.find_component(BY.text(r"^(480P|720P|1080P|4K|HDR)[\s\S]*$",MatchPattern.REGEXP))
comp = self.driver.find_component(BY.text(r"(480P|720P|1080P|4K|HDR).*",MatchPattern.REGEXP))
comp = self.driver.find_component(BY.text(r"^(480P 标清|720P 准高清|1080P 高清|4K 超高清)$",MatchPattern.REGEXP))
我们尝试在相同页面直接使用以下代码,可以成功点击控件
comp = self.driver.find_component(BY.text("480P 标清"))
是否有使用正则表达式进行匹配的相关示例代码,因为后续我们有非常多使用正则表达式进行控件点击的场景
更多关于HarmonyOS鸿蒙Next中Hypium控件属性查找如何使用正则表达式的实战教程也可以访问 https://www.itying.com/category-93-b0.html
3 回复
在HarmonyOS鸿蒙Next中,Hypium框架支持使用正则表达式查找控件属性。通过By类结合regex方法,可在自动化测试中匹配控件属性值。例如,使用By.regex("text", "正则表达式")来定位文本属性符合特定模式的控件。这适用于动态变化的属性值场景,如部分文本匹配。


