You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The full example can be found [here](https://github.com/kameleo-io/local-api-examples/blob/master/dotnet-csharp/connect_with_playwright_to_firefox/Program.cs).
180
180
181
+
# Automate mobile profiles
182
+
Kameleo can emulate mobile devices in the custom built Chromium.
// This allows you to click on elements using the cursor when emulating a touch screen in the brower.
208
+
// If you leave this out, your script may time out after clicks and fail.
209
+
newPreference("disableTouchEmulation", true),
210
+
}
211
+
});
212
+
213
+
// At this point you can automate the browser with your favorite framework
214
+
```
215
+
The full example can be found [here](https://github.com/kameleo-io/local-api-examples/blob/master/dotnet-csharp/automate_mobile_profiles_on_desktop/Program.cs).
216
+
181
217
# Example codes
182
218
[Several examples](https://github.com/kameleo-io/local-api-examples) have been prepared in a different repository to showcase the most interesting features. Feel free to create a pull request to add new example codes.
183
219
@@ -188,10 +224,14 @@ The full example can be found [here](https://github.com/kameleo-io/local-api-exa
188
224
- Using Selenium with Local API
189
225
- Using Playwright with Kameleo
190
226
- Using Puppeteer with Kameleo
227
+
- How to emulate mobile devices
191
228
- Adding an HTTP, SOCKS or SSH proxy to profile
192
229
- Saving/Loading a browsing session to/from a .kameleo file
193
230
- Modify and Delete browser cookies
194
231
- Start profile with extra WebDriver capabilities
232
+
- How to duplicate virtual browser profiles
233
+
- Test proxies
234
+
- Refresh the browser of the emulated profiles
195
235
196
236
> Note: _If you are interested in more information about Kameleo, or have encountered an issue with using it, please check out our [Help Center](https://help.kameleo.io/)._
Copy file name to clipboardExpand all lines: docs/swagger.json
+65-21Lines changed: 65 additions & 21 deletions
Original file line number
Diff line number
Diff line change
@@ -729,7 +729,7 @@
729
729
}
730
730
},
731
731
"/profiles/{guid}/duplicate": {
732
-
"post": {
732
+
"get": {
733
733
"tags": [
734
734
"Profile"
735
735
],
@@ -803,7 +803,7 @@
803
803
}
804
804
},
805
805
"/profiles/{guid}/upgrade": {
806
-
"post": {
806
+
"get": {
807
807
"tags": [
808
808
"Profile"
809
809
],
@@ -865,7 +865,8 @@
865
865
"os",
866
866
"plugins",
867
867
"resolution",
868
-
"version"
868
+
"version",
869
+
"webglMeta"
869
870
],
870
871
"type": "object",
871
872
"properties": {
@@ -918,6 +919,9 @@
918
919
"internal-pdf-viewer",
919
920
"internal-nacl-plugin"
920
921
]
922
+
},
923
+
"webglMeta": {
924
+
"$ref": "#/definitions/WebglMeta"
921
925
}
922
926
}
923
927
},
@@ -1095,19 +1099,16 @@
1095
1099
"format": "int64",
1096
1100
"description": "This unix timestamp formatted attribute is used to set persistent cookies. It signifies how long the browser should use the persistent cookie and when the cookie should be deleted.\r\nIf this attribute is not specified, then the lifetime of the cookie is the same as that of browser session, i.e.it will be a non-persistent cookie.",
1097
1101
"type": "integer",
1098
-
"readOnly": true,
1099
1102
"example": 1568986993
1100
1103
},
1101
1104
"session": {
1102
1105
"description": "Session cookies are deleted when the current session ends. The browser defines when the \"current session\" ends, and some browsers use session restoring when restarting, which can cause session cookies to last indefinitely long.",
1103
1106
"type": "boolean",
1104
-
"readOnly": true,
1105
1107
"example": false
1106
1108
},
1107
1109
"storeId": {
1108
1110
"description": "The ID of the cookie store containing this cookie.",
1109
1111
"type": "string",
1110
-
"readOnly": true,
1111
1112
"example": "0"
1112
1113
}
1113
1114
}
@@ -1133,6 +1134,7 @@
1133
1134
"properties": {
1134
1135
"domain": {
1135
1136
"description": "The domain attribute signifies the domain for which the cookie is valid and can be submitted with every request for this domain or its subdomains. If this attribute is not specified, then the hostname of the originating server is used as the default value.",
1137
+
"minLength": 1,
1136
1138
"type": "string",
1137
1139
"example": ".google.com"
1138
1140
},
@@ -1143,6 +1145,7 @@
1143
1145
},
1144
1146
"path": {
1145
1147
"description": "The path attribute indicates a URL path that must exist in the requested URL in order to send the Cookie header. The %x2F (\"/\") character is considered a directory separator, and subdirectories match as well.",
1148
+
"minLength": 1,
1146
1149
"type": "string",
1147
1150
"example": "/gmail/about"
1148
1151
},
@@ -1192,12 +1195,14 @@
1192
1195
"screen",
1193
1196
"timezone",
1194
1197
"webgl",
1198
+
"webglMeta",
1195
1199
"webRtc"
1196
1200
],
1197
1201
"type": "object",
1198
1202
"properties": {
1199
1203
"baseProfileId": {
1200
1204
"description": "The unique identifier of the base profile. This references the base profile which should be used to build the new profile.",
"description": "Profile name property. The value obtained by file name for existing profiles. For new profiles the value is generated by a random name generator.",
1953
+
"minLength": 1,
1937
1954
"type": "string"
1938
1955
},
1939
1956
"tags": {
@@ -2082,8 +2099,26 @@
2082
2099
}
2083
2100
}
2084
2101
},
2085
-
"WebglSpoofingOptions": {
2086
-
"description": "When the WebGL spoofing is set to noise these extra settings can be used to ovveride the values in the base profile.",
2102
+
"WebglMeta": {
2103
+
"required": [
2104
+
"vendor"
2105
+
],
2106
+
"type": "object",
2107
+
"properties": {
2108
+
"vendor": {
2109
+
"description": "The UnmaskedVendor field from WebGL context",
2110
+
"type": "string",
2111
+
"example": "Google Inc. (AMD)"
2112
+
},
2113
+
"renderer": {
2114
+
"description": "The UnmaskedRenderer field from WebGL context",
"description": "When the WebGL Meta spoofing is used, these settings can override the values in the base profile.",
2087
2122
"type": "object",
2088
2123
"properties": {
2089
2124
"vendor": {
@@ -2098,28 +2133,37 @@
2098
2133
}
2099
2134
}
2100
2135
},
2101
-
"WebglSpoofingType": {
2102
-
"description": "Tells the mode how the WebGL will be spoofed. Possible values:\r\n'noise': Add some noise to the WebGL generation\r\n'block': Completely block the 3D API\r\n'off': Turn off the spoofing, use the original settings",
2136
+
"WebglMetaSpoofingType": {
2137
+
"description": "Tells the mode how the WebGL vendor and renderer will be spoofed. Possible values:\r\n'automatic': The vendor and renderer values comes from the base profile.\r\n'manual': Manually set the vendor and renderer values.\r\n'off': Turn off the spoofing, use the original settings",
"description": "Tells the mode how the WebGL will be spoofed. Possible values:\r\n'noise': Add some noise to the WebGL generation\r\n'block': Completely block the 3D API\r\n'off': Turn off the spoofing, use the original settings",
0 commit comments