from selenium import Webdriver
from selenium.Webdriver.Chrome.option import Option
from selenium.Webdriver.general.by import By
from selenium.Webdriver.support.UI import Webdriverwait
from selenium.Webdriver.support import expected_conditions as Ec
import OS
import Dotenv
import time
Dotenv.load_dotenv()
Def test_lambdatest_stealth():
last name, Access_Key = OS.jelly(“LT_Username”), OS.jelly(“Lt_access_key”)
If No last name or No Access_Key:
print(“Error: set lt_username and lt_access_key in the .env file”)
return
remote_url = F“https: // {username}: {access_key}@hub.lambdatest.com/wd/hub”
option = Option()
# Lambdatest ability with the Demon Chrome option
option.set_capability(“LT: option”, {
“build”: “Demon Test”, “Name”: “Lambdatest Stealth”, “Browsergen Name”: “Chrome”,
“Browsenerversion”: “latest”, “Platformname”: “Windows 10”, “network”: CORRECT, “visual”: CORRECT,
“Chrome.options”: {
“Args”: [“–no-sandbox”, “–disable-blink-features=AutomationControlled”, “–disable-extensions”,
“–user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36”],
“Not including jitches”: [“enable-automation”], “EXEAUTOMATIEXTENSION”: FALSE
}
})
try:
print(“Initiating the Lambdatest stealth driver …”)
driver = Webdriver.Remote(command_executor=remote_url, option=option)
# Comprehensive stealth javascript injection
driver.execute_script(“”“
Object.DefineProcperty (navigator, ‘Webdriver’, {get: () => not defined});
Delete navigator .__ Proto __. Webdriver;
Object.DefineProcperty (navigator, ‘plugins’, {get: () => [1, 2, 3, 4, 5]});
Object.DefineProcperty (navigator, ‘language’, {get: () => [‘en-US’, ‘en’]});
Object.DEFINEPROPERTY (Navigator, ‘Userragent’, {GET: () => ‘Mozilla/5.0 (Windows NT 10.0; Win64; X64) Applewebkit/537.36 (KHTML, such as gecko) chrome/120.0.0.0 safari/537.37.36);
Object.DefinePriprour (navigator, ‘platform’, {get: () => ‘win32’});
Object.DefinePROPERTY (Navigator, ‘HardwareConcurrency’, {get: () => 4});
Const getparameter = webglrenderingconct.getparameter;
Webglrenderingcontext.pototype.getparameter = function (parameter) {
if (parameter === 37445) returns ‘Inc.’;
if (parameter === 37446) returns ‘Intel Iris OpenGl Engine’;
Return getparameter (parameter);
};
[‘webdriver’, ‘callPhantom’, ‘_phantom’, ‘phantom’].Foreach (Prop => Delete the Window[prop]);
““”)
print(“Navigating to the test site …”)
driver.get(“https://ecommerce-playground.lambdatest.io/”)
# Fast stealth verification
print(“Page Title:”, driver.title)
Detection_tests = {
“Webdriver”: “Return Navigator.webdriver”,
“Window.webdriver”: “Return Window.webdriver”,
“Webdriver in the window”: “Return ‘Webdriver’ in the window”
}
print(“\ n — Detection Test —“)
For test, manuscript in the Detection_tests.item():
results = driver.execute_script(manuscript)
status = “✅ Hidden” If results is There isn’t any or results is FALSE if not F“❌ detected: {result}”
print(F“{test}: {status}”)
# Check browser property
print(F“\ nuler agent: {driver.execute_script (‘return navigator.useragent’)}” “)
print(F“Platform: {driver.execute_script (‘return navigator.platform’)}”)
print(F“Language: {driver.execute_script (‘return navigator.janguages’)}” “)
# Test page interaction
Wait = Webdriverwait(driver, 15)
try:
product = Wait.until(Ec.presence_of_all_elements_located((By.Css_sector, “.Product-item, .Product-Thumb, .item,. Product”)))
print(F“Found {len (product)} product”)
except:
element = driver.Find_Elements(By.Tag_name, “A”)
print(F“Found {len (element)} link”)
# Simulation of human behavior
print(“Simulation of human behavior …”)
For I in the range(3):
driver.execute_script(F“window.scrollto (0, {(i+1)*300});”)
time.Sleep(1)
print(“✅ The stealth test was successfully completed!”)
time.Sleep(5) # Keep Alive Session Short
except Exception as e:
print(F“Error: {and}”)
import Traceback
Traceback.print_exc()
Finally:
If ‘driver’ in the local people():
driver.stop()
If __Name__ == “__main__”:
print(“Stealth Lambdatest Test (Optimized)”)
test_lambdatest_stealth()
News
Berita
News Flash
Blog
Technology
Sports
Sport
Football
Tips
Finance
Berita Terkini
Berita Terbaru
Berita Kekinian
News
Berita Terkini
Olahraga
Pasang Internet Myrepublic
Jasa Import China
Jasa Import Door to Door