Selenium ajax yêu cầu python

Trong bài viết này hướng dẫn sử dụng jQuery ajax với các phương thức Hành động sử dụng động từ http tương ứng

Địa chỉ URL trong jQuery Ajax
  • Có thể sử dụng truy cập thông qua url duyệt
  • Được sử dụng để gọi trong JQuery ajax

public JsonResult UrlResponse[]     //truy cập sử dụng Url
{
    return Json[new { Name = "UrlResponse", Response = "Response from Get", Date = DateTime.Now.ToString["dd/MM/yyyy hh:mm:ss tt"] }, JsonRequestBehavior.AllowGet];
}
Loại giao thức trong jQuery Ajax
  • There can only used to call information through Ajax
  • Nếu sử dụng trình duyệt truy cập sẽ tạo ra lỗi

[HttpGet]
public JsonResult TypedResponse[]    //Lỗi nếu truy cập sử dụng Url
{
    return Json[new { Name = "TypedResponse", Response = "Response from Get", Date = DateTime.Now.ToString["dd/MM/yyyy hh:mm:ss tt"] }, JsonRequestBehavior.AllowGet];
}
Bây giờ chúng ta sẽ bắt đầu sử dụng phương thức hành động trong MVC, và sử dụng JQuery Ajax gọi $. ajaxMột số thành phần trong cách gọi ajax

1. Xác định phương thức hành động trong MVC được gọi trong Ajax.
Thuộc tính url trong $. ajax xác định bộ điều khiển và hành động trong MVC, theo định dạng /{controller}/{action}

Ví dụ

url: ‘/User/Create’

url: ‘/User/Get/20’

Hoặc có thể sử dụng Url phương thức. Hành động để xác định bộ điều khiển và hành động

url: ‘@Url.Action[“User”,”Create”]’

2. Specify http verb used in Ajax.
Thuộc tính gõ với các giá trị ‘GET/ POST/ PUT/ DELETE’ sử dụng trong Ajax tương ứng với HttpVerbs trong phương thức hành động MVC.

Ví dụ

Loại. "BƯU KIỆN"

3. Xác định tham số nếu phương thức hành động trong MVC có sử dụng tham số

Thuộc tính dữ liệu xác định dữ liệu được truyền cho tham số trong phương thức hành động

Ví dụ

data: JSON.stringify[{ user: { name: ‘Rintu’, email: ‘Rintu@gmial.com’ } }],

data: { name: ‘Rintu’, email: ‘Rintu@gmial.com’ },

4. Nhận dữ liệu trả lại sau khi thực hiện thành công

Thuộc tính thành công xác định chức năng nhận dữ liệu trả về

Ví dụ

success: function [data] {

alert[data];

},

5. Nếu xảy ra lỗi, thuộc tính lỗi xác định chức năng nhận lỗi

Ví dụ

error: function [xhr] {

alert[‘error’];

}
Truyền tham số cơ bản từ jQuery ajax đến phương thức hành động MVC

Trong UserController MVC chứa method method action


[HttpGet]
public JsonResult Get[int id]
{
    return Json["Response from Get", JsonRequestBehavior.AllowGet];
}

Cách gọi phương thức action Get trong ajax

________số 8Truyền tham số là đối tượng json từ jQuery ajax đến phương thức hành động MVC

Phương thức hành động Tạo trong UserController nhận đối tượng người dùng làm tham số


// POST: /User/Create
[HttpPost]
public JsonResult Create[User user]
{
    return Json["Response from Create"];
}

Cách gọi trong jQuery ajax

Create ajax data type in ajax to transfer for method Create in MVC


[HttpGet]
public JsonResult TypedResponse[]    //Lỗi nếu truy cập sử dụng Url
{
    return Json[new { Name = "TypedResponse", Response = "Response from Get", Date = DateTime.Now.ToString["dd/MM/yyyy hh:mm:ss tt"] }, JsonRequestBehavior.AllowGet];
}
0Truyền tham số phức hợp từ jQuery ajax đến phương thức hành động MVC

Action method method Edit in UserController nhận 2 tham số. id và đối tượng người dùng


[HttpGet]
public JsonResult TypedResponse[]    //Lỗi nếu truy cập sử dụng Url
{
    return Json[new { Name = "TypedResponse", Response = "Response from Get", Date = DateTime.Now.ToString["dd/MM/yyyy hh:mm:ss tt"] }, JsonRequestBehavior.AllowGet];
}
1

Action method method Edit in jQuery ajax


[HttpGet]
public JsonResult TypedResponse[]    //Lỗi nếu truy cập sử dụng Url
{
    return Json[new { Name = "TypedResponse", Response = "Response from Get", Date = DateTime.Now.ToString["dd/MM/yyyy hh:mm:ss tt"] }, JsonRequestBehavior.AllowGet];
}
2


[HttpGet]
public JsonResult TypedResponse[]    //Lỗi nếu truy cập sử dụng Url
{
    return Json[new { Name = "TypedResponse", Response = "Response from Get", Date = DateTime.Now.ToString["dd/MM/yyyy hh:mm:ss tt"] }, JsonRequestBehavior.AllowGet];
}
3

Trong Automation Test sử dụng Selenium WebDỉver với Python 3, nếu bạn đã đăng nhập thì sao lưu trạng thái đăng nhập khi bật lại cửa sổ duyệt. Chúng ta phải thao tác với cookie của trình duyệt. Bài hướng dẫn sau sẽ hướng dẫn lưu [Save] và nhập [import] lại Cookie

Để lưu cookie của trình duyệt, chúng tôi sử dụng đoạn mã sau


[HttpGet]
public JsonResult TypedResponse[]    //Lỗi nếu truy cập sử dụng Url
{
    return Json[new { Name = "TypedResponse", Response = "Response from Get", Date = DateTime.Now.ToString["dd/MM/yyyy hh:mm:ss tt"] }, JsonRequestBehavior.AllowGet];
}
4

Để nhập lại cookie, chúng tôi sử dụng đoạn mã bên dưới


[HttpGet]
public JsonResult TypedResponse[]    //Lỗi nếu truy cập sử dụng Url
{
    return Json[new { Name = "TypedResponse", Response = "Response from Get", Date = DateTime.Now.ToString["dd/MM/yyyy hh:mm:ss tt"] }, JsonRequestBehavior.AllowGet];
}
5

Nguồn. vinasupport. com

Khi bạn cần cookie từ phiên bản này sang phiên bản khác, có một cách khác để làm điều đó. Sử dụng tùy chọn user-data-dir của Chrome để sử dụng các thư mục làm hồ sơ. tôi chạy


[HttpGet]
public JsonResult TypedResponse[]    //Lỗi nếu truy cập sử dụng Url
{
    return Json[new { Name = "TypedResponse", Response = "Response from Get", Date = DateTime.Now.ToString["dd/MM/yyyy hh:mm:ss tt"] }, JsonRequestBehavior.AllowGet];
}
6

Tại đây, bạn có thể thực hiện đăng nhập để kiểm tra sự tương tác của kẻ lừa đảo. Tôi làm điều này và sau đó là cookie tôi cần bây giờ mỗi khi tôi khởi động Webdriver với thư mục đó, mọi thứ đều ở trong đó. Bạn cũng có thể cài đặt các Tiện ích mở rộng theo cách thủ công và chúng có trong mỗi phiên bản

Lần thứ hai tôi chạy, tất cả các cookie đều ở đó


[HttpGet]
public JsonResult TypedResponse[]    //Lỗi nếu truy cập sử dụng Url
{
    return Json[new { Name = "TypedResponse", Response = "Response from Get", Date = DateTime.Now.ToString["dd/MM/yyyy hh:mm:ss tt"] }, JsonRequestBehavior.AllowGet];
}
7

Điểm thuận lợi là bạn có thể sử dụng nhiều thư mục với các cài đặt và cookie khác nhau, Tiện ích mở rộng mà không cần tải xuống, tải cookie, cài đặt và gỡ cài đặt Tiện ích mở rộng, thay đổi cài đặt, thay đổi

Ngoài ra, điều này nhanh hơn so với việc phải làm tất cả bằng mã

81 hữu ích 5 bình luận chia sẻ

Khi bạn cần cookie từ phiên này sang phiên khác, có một cách khác để thực hiện. Sử dụng tùy chọn Chrome user-data-dir để sử dụng các thư mục làm cấu hình. tôi chạy


[HttpGet]
public JsonResult TypedResponse[]    //Lỗi nếu truy cập sử dụng Url
{
    return Json[new { Name = "TypedResponse", Response = "Response from Get", Date = DateTime.Now.ToString["dd/MM/yyyy hh:mm:ss tt"] }, JsonRequestBehavior.AllowGet];
}
6

Tại đây bạn có thể thực hiện đăng nhập để kiểm tra sự tương tác của con người. Tôi làm điều này và sau đó là các cookie tôi cần bây giờ mỗi khi tôi khởi động Webdriver với thư mục đó, mọi thứ đều ở trong đó. Bạn cũng có thể cài đặt Tiện ích mở rộng theo cách thủ công và sử dụng chúng trong mỗi phiên

Lần thứ hai tôi chạy, tất cả các cookie đều ở đó


[HttpGet]
public JsonResult TypedResponse[]    //Lỗi nếu truy cập sử dụng Url
{
    return Json[new { Name = "TypedResponse", Response = "Response from Get", Date = DateTime.Now.ToString["dd/MM/yyyy hh:mm:ss tt"] }, JsonRequestBehavior.AllowGet];
}
7

Ưu điểm là bạn có thể sử dụng nhiều thư mục với các cài đặt và cookie khác nhau, Tiện ích mở rộng mà không cần tải, hủy tải cookie, cài đặt và gỡ cài đặt Tiện ích mở rộng, thay đổi cài đặt, thay đổi đăng nhập thông qua mã và do đó không có cách nào để phá vỡ logic của chương trình,

Ngoài ra, điều này nhanh hơn là phải làm tất cả bằng mã

Chúng tôi có thể lưu và tải cookie bằng Selenium webdriver trong Python. Cookie là thông tin được trình duyệt lưu về ứng dụng. Một cookie được lưu trữ trong một cặp giá trị khóa

Nó thường được sử dụng để giữ thông tin đăng nhập của người dùng. Nó cũng lưu trữ thông tin về hành động của người dùng trên trình duyệt trong tệp cookie. Chúng tôi có thể thêm, lấy và xóa cookie của trình duyệt

Chủ Đề