Jump to content

Search the Community

Showing results for tags 'selenium'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Loại nội dung


Diễn đàn

  • Ban quản trị
    • Thông báo
    • Phòng họp
    • Phòng kỷ luật
  • Ngôn Ngữ Lập Trình
    • C Sharp
    • C/C++
    • AutoIt
    • AutoHotKey
    • Python
    • HTML/PHP/Javascipt
    • REGEX - Regular Expressions
  • Thuê code - Nhận code
    • Góc bán hàng
    • Người thuê code
    • Người nhận code
    • Bóc phốt - Cảnh báo lừa đảo
    • Góc trung gian
  • Máy Tính - Internet
    • Tin Nóng
    • Thủ Thuật Internet
    • Thế Giới Trò Chơi
    • Hệ Điều Hành Windows
    • Phần Mềm
    • MMO
  • Nhà Kho
    • Thùng Rác

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Lọc bởi số lượng của...

Đã tham gia

  • Start

    End


Group


About Me

Found 3 results

  1. Xin chào các bạn ! Hôm nay mình nhận được một người đặt tools thao tác tự động với web, mình cũng có tìm hiểu qua trước đây rồi, nhưng chả biết gì cả, giờ vọc lại cũng vọc vạch được 1 tí, gọi là hướng dẫn cho các bạn nào mở đầu mới vào đỡ mất công tìm kiếm. Đồ nghề : Visual studio 2017 bản nào cũng được ( community,pro,enterprise ) thế thôi, à còn mạng internet nữa Bước 1 : Tạo winform mới nhé, rồi tạo 1 button để click cho nó dễ. Bước 2 : Nhấn chuột phải vào tên Project, chọn Manage Nuget Package... -> chọn Borrows -> gõ tên Selenium . Các bạn cần tải về những gì ? - Thư viện Selenium.Webdriver ( bắt buộc ) - Nếu bạn dùng Chrome thì tải : Selenium.Chrome.Webdriver - Nếu bạn dùng Firefox thì tải : Selenium.Firefox.Webdriver Bước 3 : Sử dụng thư viện Selenium bằng cách thêm 4 dòng này lên trên cùng, ở đây mình ví dụ với Browser Chrome nhoé (tương tự với Firefox ? using OpenQA.Selenium; using OpenQA.Selenium.Chrome; using OpenQA.Selenium.Interactions; using OpenQA.Selenium.Support.UI; Bước 4 : Rồi bắt tay làm nào . Hàm khởi tạo trước nhé : IWebDriver driver = new ChromeDriver(); Giờ đến tác dụng của các command : 1.Muốn mở một trang web, ta dùng lệnh này : driver.Url="https://www.google.com.vn"; 2. Muốn lấy sources của trang web, ta dùng lệnh này : string Sources = driver.PageSources; 3. Muốn đợi 1 element nào đó xuất hiện : WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); wait.Until(d => d.FindElement(By.Id("element nào đó"))); 4. Muốn tác động vào 1 element nào đó, trước hết ta phải xem element đó nằm trong các thẻ nào, ở đây tớ sẽ lấy trang google làm mẫu nhoé. Sau khi sử dụng command ở 1. ta vào trang google nhấn F12 vào ô tìm kiếm Google,ở đây ta thấy có 3 cái attribute có thể lấy để tác động điền chữ vào ô tìm kiếm : Ví dụ 1 : tác động bằng ID : driver.FindElement(By.Id("lst-ib")).SendKeys("từ muốn điền"); Ví dụ 2 : tác động qua Class : driver.FindElement(By.ClassName("lst-ib")).SendKeys("từ muốn điền"); Ví dụ 3 : tác động qua Name : driver.FindElement(By.Name("lst-ib")).SendKeys("từ muốn điền"); Ví dụ 4 : tác động qua TagName : driver.FindElements(By.TagName("a")) //Tag ở đây chính là tag ở đầu < . ví dụ <a href="https://www.teamcodedao.com">Home Page</a> thì ở đây là tag a 5. Viết được từ cần viết vào ô rồi, vậy giờ mình muốn bấm vào nút tìm kiếm thì phải làm như thế nào ? À thì lại tưởng tự, ta tìm tới element có thể tác động được, lại F12 với chữ "Tìm với Google" với trang google tiếp ta thấy như hình dưới : Ta lại thấy xuất hiện attribute Name có thể tác động. Okemen, ta làm như sau : driver.FindElement(By.Name("btnK")).Submit(); Ở đây ta có 2 cách, 1 là submit, 2 là click, tác dụng như nhau thôi ? đều nhấn chuột vào cái button "Tìm với Google". 6. Bạn muốn thay đổi Profile ? No problem, chúng ta code như sau : ChromeOptions ChOpt = new ChromeOptions(); ChOpt.AddArgument("--profile-directory=Tên profile bạn cần"); ChOpt.AddArgument("--user-data-dir=C:\Users\Tên máy tính của bạn\AppData\Local\Google\Chrome\User Data"); //<< cái này tớ sử dụng Path mặc định của chrome, các bạn thay đổi nếu bạn đã thay đổi chỗ để profile IWebDriver driver = new ChromeDriver(ChOpt); Xong rất đơn giản phải không, nhưng đéo nói thì đéo ai biết cả ? .. 7. Một khi đã quá thuần thục và quen thuộc với Selenium, bạn lại muốn tắt cmn cái cửa sổ cmd đen xì đáng ghét ? mà đến giờ vẫn chưa biết làm cách nào ?? Hãy làm như bên dưới đây : ChromeDriverService Cds = ChromeDriverService.CreateDefaultService(); Cds.HideCommandPromptWindow = true; ChromeOptions ChOpt = new ChromeOptions(); ChOpt.AddArgument("--profile-directory=Tên profile bạn cần"); string PathMacDinh = Environment.ExpandEnvironmentVariables("%LOCALAPPDATA%\\Google\\Chrome\\User Data\\"); //ChOpt.AddArgument("--user-data-dir=C:\Users\Tên máy tính của bạn\AppData\Local\Google\Chrome\User Data"); //<< cái này tớ sử dụng Path mặc định của chrome, các bạn thay đổi nếu bạn đã thay đổi chỗ để profile ChOpt.AddArgument("--user-data-dir=" + PathMacDinh); IWebDriver driver = new ChromeDriver(Cds,ChOpt); Xong, các bạn nhấn F5 ngồi xem xem nó ra cái profile nào ? . 8. Chạy trực tiếp JS trên Browser , Selenium thật bá đạo :") string javaScript = "var evObj = document.createEvent('MouseEvents');"+ "evObj.initMouseEvent(\"mouseover\",true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);"+ "arguments[0].dispatchEvent(evObj);"; IJavaScriptExecutor executor = driver as IJavaScriptExecutor; executor.ExecuteScript(javaScript, webElement); --------------------------------------------------------------------------------------------------------------------- (IWebElement) ((IJavaScriptExecutor)driver).ExecuteScript("return $('.cheese')[0]"); --------------------------------------------------------------------------------------------------------------------- IList labels = driver.FindElements(By.TagName("label")); IList inputs = (IList) ((IJavaScriptExecutor)driver).ExecuteScript( "var labels = arguments[0], inputs = []; for (var i=0; i < labels.length; i++) {" + "inputs.push(document.getElementById(labels.getAttribute('for'))); } return inputs;", labels); Trên đây là các bước khá cơ bản, đủ để bạn thao tác làm 1 kich bản nhè nhẹ với 1 số trang web rồi . Tớ sẽ cập nhật thêm. Cám ơn các bạn đã theo dõi.
  2. Chào mọi người ạ, em đang làm việc với Selenium, nhưng hiện tại em đang bị vướng mắc ở khúc chia tỉ lệ màn hình rồi đưa browser vào, ở đây em sử dụng Chrome ạ. Em muốn hỏi có cách nào để chia được Chrome ra thành các cửa sổ nhỏ như này và tự vừa với màn hình không ạ? Vd chọn là chia 3 thì nó sẽ như hình, còn chia 6 thì sẽ nhỏ hơn và chia thành 6 Chrome ấy ạ Em cảm ơn mọi người ạ!
  3. Code c# sử dụng thư viện selenium nhoé các bạn. ChromeDriverService Cds = ChromeDriverService.CreateDefaultService(); Cds.HideCommandPromptWindow = true; IWebDriver MeoChrome = new ChromeDriver(Cds) { Url = "https://10fastfingers.com/typing-test/vietnamese?fbclid=IwAR1DUxnhv_KkICQ8kvT7EgxG-as2Z7iLSOJgGYkWLFPORJ7S_URTj67pgQs" }; string KetQua = MeoChrome.PageSource; string FullText = Regex.Match(KetQua, "(?s)<div id=\"reload-box\" style=\"display: block;\">(.*?)</div></div>").Value; FullText = Regex.Replace(FullText, "<.*?>","").Trim(); WebDriverWait wait = new WebDriverWait(MeoChrome, TimeSpan.FromSeconds(10)); wait.Until(d => d.FindElement(By.Id("inputfield"))); foreach (string item in FullText.Split(' ')) { MeoChrome.FindElement(By.Id("inputfield")).SendKeys(item); Thread.Sleep(300); MeoChrome.FindElement(By.Id("inputfield")).SendKeys(OpenQA.Selenium.Keys.Space); string SoGiay = MeoChrome.FindElement(By.Id("timer")).Text; if (SoGiay == "0:00") { break; } } Bạn nào chưa biết có thể tìm hiểu bài hướng dẫn về selenium c# ở đây. Trên đây là đoạn code mình viết ra, nếu có đoạn nào không hiểu thì các bạn post lên đây, mình sẽ giải thích nhé.
×
×
  • Create New...