- VisualStudio2022
- pprof-Hướng dẫn sử dụng nó trong bản mạng trực tiếp
- Triển khai C# các loại hộp chọn nhiều màu lựa chọn thả xuống, cây lựa chọn nhiều màu lựa chọn thả xuống và các nút tối đa
- [Ghi chú học tập] Cơ sở dữ liệu cấu trúc: cat tree
HtmlUnit là trình mô phỏng trình duyệt phiên bản Java HeadLess nhẹ hơn Selenium và không yêu cầu cài đặt và triển khai trình duyệt cũng như chương trình Trình điều khiển của nó trên máy chủ.
Tuy nhiên, như chúng ta đều biết, việc hỗ trợ các tập lệnh JS của HtmlUnit không được thân thiện lắm. Hầu hết các vấn đề trong GitHub đều liên quan đến lỗi thực thi JS.
Trong quá trình sử dụng thực tế (phiên bản HtmlUnit 4.1.0), tác giả cũng gặp phải vấn đề thực thi JS và không tìm thấy giải pháp tốt nào trong vấn đề StackOverflow và google.
Nguyên nhân cụ thể của vấn đề là do trang gốc sử dụng các từ khóa và phương thức như async, wait, sau đó là trong ES6.
org.htmlunit.ScriptException: thiếu ; trước câu lệnh (https://www.xxx.com/includes../../../js/common.js#322) tại org.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction. run(JavaScriptEngine.java:963) tại org.htmlunit.corejs.javascript.Context.call(Context.java:585) tại org.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:481) tại org.htmlunit.javascript.HtmlUnitContextFactory.callSecured(HtmlUnitContextFactory.java:313) tại org.htmlunit.javascript.JavaScriptEngine.compile(JavaScriptEngine.java: 735) tại org.htmlunit.javascript.JavaScriptEngine.compile(JavaScriptEngine.java:110) tại org.htmlunit.html.HtmlPage.loadJavaScriptFromUrl(HtmlPage.java:1124) tại org.htmlunit.html.HtmlPage.loadExternalJavaScriptFile(HtmlPage.java:1015)
Tôi bắt đầu suy nghĩ ngược lại. Vì những từ khóa không được hỗ trợ này gây ra lỗi thực thi JS, tôi có thể sửa đổi mã nguồn của trang web và tài nguyên JS để lọc ra những từ khóa không được hỗ trợ khi trang và tài nguyên JS được tải không?
Khi đọc tài liệu trang web chính thức của HtmlUnit, tôi thấy rằng có một giao diện ScriptPreProcessor, có thể sửa đổi mã thực thi của JS thông qua các hook.
this.browser.setScriptPreProcessor((htmlPage, sourceCode, sourceName, lineNumber, htmlElement) -> { // Xử lý HtmlUnit không hỗ trợ từ khóa async và wait của ES6 và xử lý mã nguồn js if (StringUtils.contains(sourceName, "tools.js")) { sourceCode = sourceCode.replace("async", StringUtils.EMPTY); sourceCode = sourceCode.replace("await", StringUtils.EMPTY } return sourceCode });
Bạn có thể xử lý sourceCode tùy theo các vấn đề cụ thể mà bạn gặp phải.
Cuối cùng, nếu một số đối tượng JS không được hỗ trợ, bạn có thể phân tích mã JS của trang gốc, triển khai logic JS thông qua Java, sau đó xử lý nó bằng cách gán giá trị cho các biến và sửa đổi mã nguồn JS.
Cuối cùng, bài viết về cách giải quyết thông báo lỗi ScriptException khi HtmlUnit thực thi JS kết thúc tại đây. Nếu bạn muốn biết thêm về cách giải quyết thông báo lỗi ScriptException khi HtmlUnit thực thi JS, vui lòng tìm kiếm bài viết CFSDN hoặc tiếp tục duyệt qua các bài viết liên quan. hỗ trợ nó trong tương lai blog của tôi! .
Tôi đang cố gắng làm theo hướng dẫn này https://github.com/cf-platform-eng/spring-boot-cities/tree/master/cities-service trong Cloud F
0){ echo "Tên người dùng hoặc email đã tồn tại." }else{ $query = mysql_que
Tôi muốn biên dịch mã nguồn ARToolKit trên Linux, tải xuống mã nguồn và định cấu hình GLUT, OpenGL, libjpeg và các thư viện khác theo tài liệu ARToolKit. Chuyển đến thư mục ARToolKit và nhập ./Configer
Xin chào, tôi gặp lỗi trong chương trình này, wcout không phải là thành viên của `std'. iostream nhưng nó không hoạt động. Tôi có Dev-C++ 4.9.9.2 và hệ điều hành của tôi là XP SP3.
Tôi đã cố gắng ghé thăm ý kiến trúc của một trang web nhiều lần nhưng tôi đã nhận được: Quá trình: lỗi thời gian chạy: địa chỉ bộ nhớ không hợp lệ hoặc vô hiệu hóa con trỏ nil [tín hiệu
Khi tôi đặt " use namespace std; int main(){ string s[30]; int n = 20; for(int i = 0; i use
Email.sen
Tôi có cấu hình thư mục sau ├── docker-compose.yml └── ứng dụng web ├── create_tomcat_admin.sh ├── Dockerfile
Đây là truy vấn mã hóa của tôi bằng php: $query3 = mysql_query("SELECT * FROM Area_of_work") hoặc die('Invalid query:'. mysql_
Tôi đang cố gắng cài đặt therubyracer/therubyracer-heroku vào ứng dụng của mình vì nó không hoạt động trên máy chủ heroku vì tôi không có môi trường trường chạy javascript khi tôi cố gắng cài đặt
Tôi đang phát triển một ứng dụng React rất đơn giản. trạng thái khi nhấp vào liên kết. Nhưng vì lý do nào setState thậm chí vẫn không được nhận. một chức năng hoặc phương thức chưa được giải quyết
Tôi có ba nguồn: xử lý mã.h typedef enum {typeBool, typeVarDeclaration, typeFuncDeclaration} nodeEnum typedef st;
Tôi đang cố gắng gửi lệnh liên tục tới raspi từ điện thoại Android của mình. tôi gặp lỗi. Liên kết: https://stackoverflow.com/questions/2347143
Log cat return failed cột "_id" được tìm thấy Có ai có thể giúp tôi giải quyết vấn đề này không?
Cảnh báo rằng tôi đang đưa ra vấn đề này..nó không liên quan đến sqlite..nó đang cung cấp một số thông tin..tôi sẽ làm cách nào UIAlertView *infoShow = [[UIAlertView phân tích bổ sung] có thể giải quyết được vấn đề này không?
10 năm trước.
Đây là mã của tôi: #include #include typedef struct test { int *a }TEST;
Vì vậy, tôi đã xác định một chức năng hoạt động tốt nhất để hợp lý hóa việc sắp xếp các mảng tuyến tính tốt nhất nếu nó có thể phát triển đơn độc, nhưng nếu tôi đặt nó vào một lớp thì nó sẽ báo lỗi. về lý do tại sao tôi không biết nhiều về các lớp học
Tôi mới sử dụng iOS. cách sử dụng UIAlertController. Tôi có mã này: if (loanAmount == 0
Khi tôi cố gắng sử dụng wincachegrind và nhận được cachegrind tệp, nó trả về Không thể tìm thấy số cuộc gọi cachegrind.out mục tiêu line:68 ở đó.
Tôi là một lập trình viên xuất sắc, rất xuất sắc!