mirror of
https://github.com/TonyJiangWJ/Auto.js.git
synced 2026-06-21 21:01:43 +08:00
feat(selector): supports javascript regex
This commit is contained in:
parent
ec7a0412af
commit
fccfe85287
@ -77,7 +77,13 @@ public class CodeGenerator {
|
||||
}
|
||||
|
||||
protected String generateCode(UiSelectorGenerator generator, UiObject root, UiObject target, int maxParentLevel, int maxChildrenLevel, boolean withFind) {
|
||||
String selector = withFind ? generator.generateSelectorCode() : generator.generateSelector().toString();
|
||||
String selector;
|
||||
if (withFind) {
|
||||
selector = generator.generateSelectorCode();
|
||||
} else {
|
||||
UiGlobalSelector s = generator.generateSelector();
|
||||
selector = s == null ? null : s.toString();
|
||||
}
|
||||
if (selector != null) {
|
||||
return selector;
|
||||
}
|
||||
|
||||
@ -84,6 +84,38 @@ public class UiSelector extends UiGlobalSelector {
|
||||
return findOf(UiObject.createRoot(root, mAllocator));
|
||||
}
|
||||
|
||||
@Override
|
||||
public UiGlobalSelector textMatches(String regex) {
|
||||
return super.textMatches(convertRegex(regex));
|
||||
}
|
||||
|
||||
// TODO: 2018/1/30 更好的实现方式。
|
||||
private String convertRegex(String regex) {
|
||||
if (regex.startsWith("/") && regex.endsWith("/") && regex.length() > 2) {
|
||||
return regex.substring(1, regex.length() - 1);
|
||||
}
|
||||
return regex;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UiGlobalSelector classNameMatches(String regex) {
|
||||
return super.classNameMatches(convertRegex(regex));
|
||||
}
|
||||
|
||||
@Override
|
||||
public UiGlobalSelector idMatches(String regex) {
|
||||
return super.idMatches(convertRegex(regex));
|
||||
}
|
||||
|
||||
@Override
|
||||
public UiGlobalSelector packageNameMatches(String regex) {
|
||||
return super.packageNameMatches(convertRegex(regex));
|
||||
}
|
||||
|
||||
@Override
|
||||
public UiGlobalSelector descMatches(String regex) {
|
||||
return super.descMatches(convertRegex(regex));
|
||||
}
|
||||
|
||||
private void ensureAccessibilityServiceEnabled() {
|
||||
mAccessibilityBridge.ensureServiceEnabled();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user