วัตถุประสงค์
ฉันต้องการทราบการเข้าสู่ระบบอัตโนมัติเกี่ยวกับ Taobao ผ่านรหัส Java และกรอกข้อมูลโดยอัตโนมัติและส่งข้อมูลการเข้าสู่ระบบโดยอัตโนมัติโดยได้รับการตั้งค่า ในปัจจุบันรหัสนี้ได้รับการทดสอบโดยตัวแก้ไขและสามารถผ่านได้ ฉันไม่รู้ว่า Taobao จะมีกลยุทธ์การบล็อกที่สอดคล้องกันในอนาคตหรือไม่
การแบ่งปันรหัส:
แพ็คเกจ util; นำเข้า org.openqa.selenium.by; นำเข้า org.openqa.selenium.webelement; นำเข้า org.openqa.selenium.firefox.firefoxdriver นำเข้า org.openqa.selenium.firefoxoptox.firefoxoptions; java.io.file; นำเข้า Java.util.random; Public Class TestCase2 {โมฆะคงที่สาธารณะ (สตริง [] args) {System.SetProperty ("webDriver.firefox.bin", "C: // โปรแกรมไฟล์ // Mozilla Firefox // Firefox.exe"); System.SetProperty ("webDriver.gecko.driver", "C: //users//18431//ideaprojects//seleniumdemo//bin//geckodriver.exe"); ตัวเลือก firefoxoptions = ใหม่ firefoxoptions (); firefoxprofile profile = ใหม่ firefoxprofile (ไฟล์ใหม่ ("c: //users//18431//appdata//roaming//mozilla//firefox//profiles//efzu2oem.default")); ตัวเลือก SetProfile (โปรไฟล์); ไดรเวอร์ firefoxdriver = ใหม่ firefoxdriver (); driver.get ("https://login.m.taobao.com/login.htm"); // ต่อไปนี้เริ่มจำลองการดำเนินงานปกติอย่างเต็มที่ดังนั้นคุณจะเห็นการดำเนินการนอนหลับจำนวนมาก webElement UserNameElement = driver.findelement (by.id ("ชื่อผู้ใช้")); // จำลองผู้ใช้คลิกที่กล่องอินพุตชื่อผู้ใช้ USERNAMEELEMENT.CLICK (); string username = "18588260144"; // หมายเลขโทรศัพท์มือถือของคุณรหัสผ่านสตริง = "xxxxxxxxxxxx" // รหัสผ่านของคุณสุ่ม rand = ใหม่สุ่ม (); ลอง {สำหรับ (int i = 0; i <username.length (); i ++) {thread.sleep (rand.nextint (1,000)); // sleep แบบสุ่ม 0-1 วินาที // ป้อนตัวละครตัวละครตัวเดียว } webElement passwordElement = driver.findelement (By.ID ("รหัสผ่าน")); PasswordElement.Click (); // หลังจากเข้าสู่ชื่อผู้ใช้ให้นอนแบบสุ่มเป็นเวลา 0-3 วินาที Thread.sleep (rand.nextint (3000)); สำหรับ (int i = 0; i <password.length (); i ++) {thread.sleep (rand.nextint (1,000)); PasswordElement.sendkeys (""+password.charat (i)); } driver.findelement (by.id ("btn-submit")). คลิก (); } catch (exception e) {e.printstacktrace (); } ลอง {thread.sleep (300000); } catch (interruptedException ie) {ie.printStackTrace (); } driver.quit (); - สรุป
จะเห็นได้ว่าไม่ว่าการเปลี่ยนแปลงจะเป็นอย่างไรไม่ว่ามันจะยากแค่ไหนในการจำลองการเข้าสู่ระบบก็สามารถจำลองนิสัยการทำงานของมนุษย์ได้อย่างสมบูรณ์ ฉันจะบอกคุณทั้งหมด เทคโนโลยีการรวบรวมข้อมูล PHP ไม่ได้วางแผนที่จะเขียนต่อไป รู้สึกดีขึ้นที่จะใช้ PHP เพื่อทำสิ่งที่เหมาะสม ระดับตัวรวบรวมข้อมูลที่เขียนใน PHP ต่ำเกินไปและจะดีกว่าสำหรับ Python และ Java