{"id":69313,"date":"2024-07-14T13:36:49","date_gmt":"2024-07-14T10:06:49","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/%d8%a8%d9%87-%d8%b1%d8%a7%d8%ad%d8%aa%db%8c-%d8%a7%d8%b2-%d8%b3%d9%84%d9%86%db%8c%d9%88%d9%85-%d8%a8%d8%a7-aws-lambda-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%da%a9%d9%86%db%8c%d8%af\/"},"modified":"2024-07-14T13:36:49","modified_gmt":"2024-07-14T10:06:49","slug":"%d8%a8%d9%87-%d8%b1%d8%a7%d8%ad%d8%aa%db%8c-%d8%a7%d8%b2-%d8%b3%d9%84%d9%86%db%8c%d9%88%d9%85-%d8%a8%d8%a7-aws-lambda-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%da%a9%d9%86%db%8c%d8%af","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/%d8%a8%d9%87-%d8%b1%d8%a7%d8%ad%d8%aa%db%8c-%d8%a7%d8%b2-%d8%b3%d9%84%d9%86%db%8c%d9%88%d9%85-%d8%a8%d8%a7-aws-lambda-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%da%a9%d9%86%db%8c%d8%af\/","title":{"rendered":"\u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u0627\u0632 \u0633\u0644\u0646\u06cc\u0648\u0645 \u0628\u0627 AWS Lambda \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f"},"content":{"rendered":"<p><\/p>\n<div data-article-id=\"1922985\" id=\"article-body\">\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=8XBkm9DD6Ic\" rel=\"nofollow noopener\" target=\"_blank\">https:\/\/www.youtube.com\/watch?v=8XBkm9DD6Ic<\/a><br \/>\n<\/iframe>\n<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c \u0645\u0646 \u0634\u0645\u0627 \u0631\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0641\u0631\u0622\u06cc\u0646\u062f \u0627\u062c\u0631\u0627\u06cc \u0633\u0644\u0646\u06cc\u0648\u0645 \u0628\u0627 ChromeDriver \u062f\u0631 \u06cc\u06a9 \u062a\u0627\u0628\u0639 AWS Lambda \u0631\u0627\u0647\u0646\u0645\u0627\u06cc\u06cc \u0645\u06cc\u200c\u06a9\u0646\u0645.  \u0627\u06cc\u0646 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0628\u0631\u0627\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631 \u06a9\u0631\u062f\u0646 \u0648\u0638\u0627\u06cc\u0641 \u0627\u0633\u06a9\u0631\u0627\u067e\u06cc \u0648\u0628\u060c \u0622\u0632\u0645\u0627\u06cc\u0634 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0648\u0628 \u06cc\u0627 \u0627\u0646\u062c\u0627\u0645 \u0647\u0631 \u06a9\u0627\u0631 \u0627\u062a\u0648\u0645\u0627\u0633\u06cc\u0648\u0646 \u0645\u0631\u0648\u0631\u06af\u0631 \u062f\u0631 \u0641\u0636\u0627\u06cc \u0627\u0628\u0631\u06cc \u0645\u0641\u06cc\u062f \u0627\u0633\u062a.  \u0628\u0627 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u06cc \u06a9\u0631\u062f\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u0627 \u0648 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0622\u0646 \u062f\u0631 AWS Lambda\u060c \u0645\u0627 \u0627\u0632 \u06cc\u06a9 \u0645\u0639\u0645\u0627\u0631\u06cc \u0645\u0642\u06cc\u0627\u0633\u200c\u067e\u0630\u06cc\u0631 \u0648 \u0628\u062f\u0648\u0646 \u0633\u0631\u0648\u0631 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u06cc\u0645.  \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0647 \u062c\u0632\u0626\u06cc\u0627\u062a \u0628\u067e\u0631\u062f\u0627\u0632\u06cc\u0645.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/%d8%a8%d9%87-%d8%b1%d8%a7%d8%ad%d8%aa%db%8c-%d8%a7%d8%b2-%d8%b3%d9%84%d9%86%db%8c%d9%88%d9%85-%d8%a8%d8%a7-aws-lambda-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%da%a9%d9%86%db%8c%d8%af\/#%DA%A9%D8%A7%D8%B1%DB%8C_%DA%A9%D9%87_%D9%85%D8%A7_%D8%A7%D9%86%D8%AC%D8%A7%D9%85_%D9%85%DB%8C_%D8%AF%D9%87%DB%8C%D9%85\" >\u06a9\u0627\u0631\u06cc \u06a9\u0647 \u0645\u0627 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u06cc\u0645<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/%d8%a8%d9%87-%d8%b1%d8%a7%d8%ad%d8%aa%db%8c-%d8%a7%d8%b2-%d8%b3%d9%84%d9%86%db%8c%d9%88%d9%85-%d8%a8%d8%a7-aws-lambda-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%da%a9%d9%86%db%8c%d8%af\/#%D9%BE%DB%8C%D8%B4_%D9%86%DB%8C%D8%A7%D8%B2%D9%87%D8%A7\" >\u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632\u0647\u0627<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/%d8%a8%d9%87-%d8%b1%d8%a7%d8%ad%d8%aa%db%8c-%d8%a7%d8%b2-%d8%b3%d9%84%d9%86%db%8c%d9%88%d9%85-%d8%a8%d8%a7-aws-lambda-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%da%a9%d9%86%db%8c%d8%af\/#%D9%81%D8%A7%DB%8C%D9%84_%D9%87%D8%A7%DB%8C_%D9%BE%D8%B1%D9%88%DA%98%D9%87\" >\u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u067e\u0631\u0648\u0698\u0647<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/%d8%a8%d9%87-%d8%b1%d8%a7%d8%ad%d8%aa%db%8c-%d8%a7%d8%b2-%d8%b3%d9%84%d9%86%db%8c%d9%88%d9%85-%d8%a8%d8%a7-aws-lambda-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%da%a9%d9%86%db%8c%d8%af\/#2_Dockerfile\" >2. Dockerfile<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/%d8%a8%d9%87-%d8%b1%d8%a7%d8%ad%d8%aa%db%8c-%d8%a7%d8%b2-%d8%b3%d9%84%d9%86%db%8c%d9%88%d9%85-%d8%a8%d8%a7-aws-lambda-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%da%a9%d9%86%db%8c%d8%af\/#3_chrome-installersh\" >3. chrome-installer.sh<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/%d8%a8%d9%87-%d8%b1%d8%a7%d8%ad%d8%aa%db%8c-%d8%a7%d8%b2-%d8%b3%d9%84%d9%86%db%8c%d9%88%d9%85-%d8%a8%d8%a7-aws-lambda-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%da%a9%d9%86%db%8c%d8%af\/#%D9%86%D8%AA%DB%8C%D8%AC%D9%87\" >\u0646\u062a\u06cc\u062c\u0647<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%DA%A9%D8%A7%D8%B1%DB%8C_%DA%A9%D9%87_%D9%85%D8%A7_%D8%A7%D9%86%D8%AC%D8%A7%D9%85_%D9%85%DB%8C_%D8%AF%D9%87%DB%8C%D9%85\"><\/span>\n<p>  \u06a9\u0627\u0631\u06cc \u06a9\u0647 \u0645\u0627 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u06cc\u0645<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0645\u0627 \u06cc\u06a9 \u0638\u0631\u0641 Docker \u0627\u06cc\u062c\u0627\u062f \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f \u06a9\u0647 \u0634\u0627\u0645\u0644 \u062a\u0645\u0627\u0645 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627\u06cc \u0644\u0627\u0632\u0645 \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc Selenium \u0648 ChromeDriver \u0627\u0633\u062a.  \u0627\u06cc\u0646 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u062a\u0627\u0628\u0639 AWS Lambda \u0645\u0633\u062a\u0642\u0631 \u062e\u0648\u0627\u0647\u062f \u0634\u062f.  \u062a\u0627\u0628\u0639 Lambda \u06cc\u06a9 \u06a9\u0627\u0631 \u0633\u0627\u062f\u0647 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u062f: \u062c\u0633\u062a\u062c\u0648\u06cc &#8220;OpenAI&#8221; \u062f\u0631 \u06af\u0648\u06af\u0644 \u0648 \u0628\u0631\u06af\u0631\u062f\u0627\u0646\u062f\u0646 \u0639\u0646\u0627\u0648\u06cc\u0646 \u0646\u062a\u0627\u06cc\u062c \u062c\u0633\u062a\u062c\u0648.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D9%BE%DB%8C%D8%B4_%D9%86%DB%8C%D8%A7%D8%B2%D9%87%D8%A7\"><\/span>\n<p>  \u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632\u0647\u0627<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0642\u0628\u0644 \u0627\u0632 \u0634\u0631\u0648\u0639\u060c \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647:<\/p>\n<ul>\n<li>\u06cc\u06a9 \u062d\u0633\u0627\u0628 AWS<\/li>\n<li>\u06cc\u06a9 \u062d\u0633\u0627\u0628 GitHub<\/li>\n<li>Docker Desktop \u0646\u0635\u0628 \u0634\u062f\u0647 \u0627\u0633\u062a<\/li>\n<li>AWS CLI \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u062f<\/li>\n<\/ul>\n<p><strong>\u0642\u0628\u0644 \u0627\u0632 \u067e\u0631\u062f\u0627\u062e\u062a\u0646 \u0628\u0647 \u0645\u0648\u0636\u0648\u0639\u060c \u0627\u0632 \u0634\u0645\u0627 \u062f\u0639\u0648\u062a \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0627\u0632 \u062a\u0644\u0627\u0634\u200c\u0647\u0627\u06cc \u062c\u0627\u0631\u06cc \u0645\u0627 \u062d\u0645\u0627\u06cc\u062a \u06a9\u0646\u06cc\u062f \u0648 \u067e\u0644\u062a\u0641\u0631\u0645\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0645\u0627 \u0631\u0627 \u06a9\u0647 \u0628\u0647 \u062a\u0642\u0648\u06cc\u062a \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u0627\u06cc\u0646\u062a\u0631\u0646\u062a \u0627\u0634\u06cc\u0627 \u0627\u062e\u062a\u0635\u0627\u0635 \u062f\u0627\u062f\u0647 \u0634\u062f\u0647\u200c\u0627\u0646\u062f\u060c \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f:<\/strong><\/p>\n<ul>\n<li>\n<strong>\u062f\u0631 \u06a9\u0627\u0646\u0627\u0644 \u06cc\u0648\u062a\u06cc\u0648\u0628 \u0645\u0627 \u0645\u0634\u062a\u0631\u06a9 \u0634\u0648\u06cc\u062f:<\/strong> \u0628\u0627 \u0639\u0636\u0648\u06cc\u062a \u062f\u0631 \u06a9\u0627\u0646\u0627\u0644 \u0645\u0627 \u062f\u0631 YouTube \u2014 Shilleh \u0627\u0632 \u0622\u062e\u0631\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0647\u0627 \u0648 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u067e\u0631\u0648\u0698\u0647 \u0645\u0627 \u0628\u0647 \u0631\u0648\u0632 \u0628\u0627\u0634\u06cc\u062f.<\/li>\n<li>\n<strong>\u0627\u0632 \u0645\u0627 \u062d\u0645\u0627\u06cc\u062a \u06a9\u0646\u06cc\u062f:<\/strong> \u062d\u0645\u0627\u06cc\u062a \u0634\u0645\u0627 \u0627\u0631\u0632\u0634\u0645\u0646\u062f \u0627\u0633\u062a.  \u0628\u0631\u0627\u06cc \u06a9\u0645\u06a9 \u0628\u0647 \u0645\u0627 \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u062a\u0648\u0644\u06cc\u062f \u0645\u062d\u062a\u0648\u0627\u06cc \u0628\u0627 \u06a9\u06cc\u0641\u06cc\u062a\u060c \u06cc\u06a9 \u0642\u0647\u0648\u0647 \u0628\u0631\u0627\u06cc \u0645\u0646 \u062f\u0631 Buy Me A Coffee \u0628\u062e\u0631\u06cc\u062f.<\/li>\n<li>\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u062e\u062f\u0645\u0627\u062a \u0645\u062a\u062e\u0635\u0635 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a \u0627\u0634\u06cc\u0627: \u0628\u0631\u0627\u06cc \u06a9\u0645\u06a9 \u0634\u062e\u0635\u06cc \u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u0647\u0627\u06cc \u0627\u06cc\u0646\u062a\u0631\u0646\u062a \u0627\u0634\u06cc\u0627\u060c \u0645\u0646 \u0631\u0627 \u062f\u0631 UpWork \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u06a9\u0646\u06cc\u062f.<\/li>\n<li><strong>\u0648\u0628 \u0633\u0627\u06cc\u062a \u0634\u06cc\u0644\u0647 \u062a\u06a9 (\u062a\u062e\u0641\u06cc\u0641\u0627\u062a \u0627\u0633\u062a\u062b\u0646\u0627\u06cc\u06cc):<\/strong><\/li>\n<\/ul>\n<p>https:\/\/shillehtek.com\/collections\/all<\/p>\n<p><strong>\u0641\u0631\u0648\u0634\u06af\u0627\u0647 \u0622\u0645\u0627\u0632\u0648\u0646 ShillehTek:<\/strong><\/p>\n<p>\u0641\u0631\u0648\u0634\u06af\u0627\u0647 \u0622\u0645\u0627\u0632\u0648\u0646 ShillehTek &#8211; \u0627\u06cc\u0627\u0644\u0627\u062a \u0645\u062a\u062d\u062f\u0647<\/p>\n<p>\u0641\u0631\u0648\u0634\u06af\u0627\u0647 \u0622\u0645\u0627\u0632\u0648\u0646 ShillehTek &#8211; \u06a9\u0627\u0646\u0627\u062f\u0627<\/p>\n<p>\u0641\u0631\u0648\u0634\u06af\u0627\u0647 \u0622\u0645\u0627\u0632\u0648\u0646 ShillehTek &#8211; \u0698\u0627\u067e\u0646<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D9%81%D8%A7%DB%8C%D9%84_%D9%87%D8%A7%DB%8C_%D9%BE%D8%B1%D9%88%DA%98%D9%87\"><\/span>\n<p>  \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u067e\u0631\u0648\u0698\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><code>1. main.py<\/code><\/p>\n<p>\u0627\u06cc\u0646 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u067e\u0627\u06cc\u062a\u0648\u0646 \u062a\u0627\u0628\u0639 Lambda \u0627\u0633\u062a \u06a9\u0647 \u0627\u0632 \u0633\u0644\u0646\u06cc\u0648\u0645 \u0628\u0631\u0627\u06cc \u0627\u0646\u062c\u0627\u0645 \u0627\u062a\u0648\u0645\u0627\u0633\u06cc\u0648\u0646 \u0645\u0631\u0648\u0631\u06af\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>import os\nimport time\nfrom selenium import webdriver\nfrom selenium.webdriver.common.by import By\nfrom selenium.webdriver.common.keys import Keys\nfrom selenium.webdriver.chrome.service import Service\nfrom selenium.webdriver.chrome.options import Options as ChromeOptions\nfrom tempfile import mkdtemp\n\ndef lambda_handler(event, context):\n    chrome_options = ChromeOptions()\n    chrome_options.add_argument(\"--headless=new\")\n    chrome_options.add_argument(\"--no-sandbox\")\n    chrome_options.add_argument(\"--disable-dev-shm-usage\")\n    chrome_options.add_argument(\"--disable-gpu\")\n    chrome_options.add_argument(\"--disable-dev-tools\")\n    chrome_options.add_argument(\"--no-zygote\")\n    chrome_options.add_argument(\"--single-process\")\n    chrome_options.add_argument(f\"--user-data-dir={mkdtemp()}\")\n    chrome_options.add_argument(f\"--data-path={mkdtemp()}\")\n    chrome_options.add_argument(f\"--disk-cache-dir={mkdtemp()}\")\n    chrome_options.add_argument(\"--remote-debugging-pipe\")\n    chrome_options.add_argument(\"--verbose\")\n    chrome_options.add_argument(\"--log-path=\/tmp\")\n    chrome_options.binary_location = \"\/opt\/chrome\/chrome-linux64\/chrome\"\n\n    service = Service(\n        executable_path=\"\/opt\/chrome-driver\/chromedriver-linux64\/chromedriver\",\n        service_log_path=\"\/tmp\/chromedriver.log\"\n    )\n\n    driver = webdriver.Chrome(\n        service=service,\n        options=chrome_options\n    )\n    # Open a webpage\n    driver.get('https:\/\/www.google.com')\n    # Find the search box\n    search_box = driver.find_element(By.NAME, 'q')\n    # Enter a search query\n    search_box.send_keys('OpenAI')\n    # Submit the search query\n    search_box.send_keys(Keys.RETURN)\n    # Wait for the results to load\n    time.sleep(2)\n    # Get the results\n    results = driver.find_elements(By.CSS_SELECTOR, 'div.g')\n    # Print the titles of the results\n    titles = [result.find_element(By.TAG_NAME, 'h3').text for result in results]\n    # Close the WebDriver\n    driver.quit()\n    return {\n        'statusCode': 200,\n        'body': titles\n    }\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>\u062a\u0648\u0636\u06cc\u062d:<\/strong><\/p>\n<ul>\n<li>chrome_options: Chrome \u0631\u0627 \u0628\u0647 \u06af\u0648\u0646\u0647\u200c\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0628\u062f\u0648\u0646 \u0647\u062f \u0627\u062c\u0631\u0627 \u0634\u0648\u062f \u0648 \u0622\u0646 \u0631\u0627 \u0628\u0631\u0627\u06cc \u06cc\u06a9 \u0645\u062d\u06cc\u0637 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u06cc \u0628\u0647\u06cc\u0646\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/li>\n<li>driver.get: \u0628\u0647 Google \u0647\u062f\u0627\u06cc\u062a \u0645\u06cc \u0634\u0648\u062f.<\/li>\n<li>search_box: \u0648\u0631\u0648\u062f\u06cc \u062c\u0633\u062a\u062c\u0648 \u0631\u0627 \u0645\u06cc\u200c\u06cc\u0627\u0628\u062f\u060c \u00abOpenAI\u00bb \u0631\u0627 \u0648\u0627\u0631\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u0641\u0631\u0645 \u0631\u0627 \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/li>\n<li>\u0646\u062a\u0627\u06cc\u062c: \u0639\u0646\u0627\u0648\u06cc\u0646 \u0646\u062a\u0627\u06cc\u062c \u062c\u0633\u062a\u062c\u0648 \u0631\u0627 \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0648 \u0686\u0627\u067e \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"2_Dockerfile\"><\/span>\n<p>  2. Dockerfile<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><strong>\u0627\u06cc\u0646 Dockerfile \u06cc\u06a9 \u062a\u0635\u0648\u06cc\u0631 \u0628\u0627 \u062a\u0645\u0627\u0645 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc Selenium \u0628\u0627 ChromeDriver \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u062f.<\/strong><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>FROM amazon\/aws-lambda-python:3.12\n# Install chrome dependencies\nRUN dnf install -y atk cups-libs gtk3 libXcomposite alsa-lib \\\n    libXcursor libXdamage libXext libXi libXrandr libXScrnSaver \\\n    libXtst pango at-spi2-atk libXt xorg-x11-server-Xvfb \\\n    xorg-x11-xauth dbus-glib dbus-glib-devel nss mesa-libgbm jq unzip\n# Copy and run the chrome installer script\nCOPY .\/chrome-installer.sh .\/chrome-installer.sh\nRUN chmod +x .\/chrome-installer.sh\nRUN .\/chrome-installer.sh\nRUN rm .\/chrome-installer.sh\n# Install selenium\nRUN pip install selenium\n# Copy the main application code\nCOPY main.py .\/\n# Command to run the Lambda function\nCMD [ \"main.lambda_handler\" ]\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>\u062a\u0648\u0636\u06cc\u062d:<\/strong><\/p>\n<ul>\n<li>FROM amazon\/aws-lambda-python:3.12: \u0627\u0632 \u062a\u0635\u0648\u06cc\u0631 \u067e\u0627\u06cc\u0647 AWS Lambda \u0628\u0631\u0627\u06cc Python 3.12 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>RUN dnf install -y: \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627\u06cc \u0644\u0627\u0632\u0645 \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc Chrome \u0631\u0627 \u0646\u0635\u0628 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>COPY .\/chrome-installer.sh: \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0646\u0635\u0628 \u06a9\u0646\u0646\u062f\u0647 Chrome \u0631\u0627 \u062f\u0631 \u062a\u0635\u0648\u06cc\u0631 \u06a9\u067e\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>RUN .\/chrome-installer.sh: \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0631\u0627 \u0628\u0631\u0627\u06cc \u0646\u0635\u0628 Chrome \u0648 ChromeDriver \u0627\u062c\u0631\u0627 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>RUN pip install selenium: \u0628\u0633\u062a\u0647 Selenium Python \u0631\u0627 \u0646\u0635\u0628 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>COPY main.py: \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a main.py \u0631\u0627 \u062f\u0631 \u062a\u0635\u0648\u06cc\u0631 \u06a9\u067e\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>CMD [ \u201cmain.lambda_handler\u201d ]: \u062f\u0633\u062a\u0648\u0631 \u0627\u062c\u0631\u0627\u06cc \u062a\u0627\u0628\u0639 Lambda \u0631\u0627 \u0645\u0634\u062e\u0635 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"3_chrome-installersh\"><\/span>\n<p>  3. chrome-installer.sh<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u06cc\u0646 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0622\u062e\u0631\u06cc\u0646 \u0646\u0633\u062e\u0647\u200c\u0647\u0627\u06cc Chrome \u0648 ChromeDriver \u0631\u0627 \u0646\u0635\u0628 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>#!\/bin\/bash\nset -e\n\nlatest_stable_json=\"https:\/\/googlechromelabs.github.io\/chrome-for-testing\/last-known-good-versions-with-downloads.json\"\n# Retrieve the JSON data using curl\njson_data=$(curl -s \"$latest_stable_json\")\nlatest_chrome_linux_download_url=\"$(echo \"$json_data\" | jq -r \".channels.Stable.downloads.chrome[0].url\")\"\nlatest_chrome_driver_linux_download_url=\"$(echo \"$json_data\" | jq -r \".channels.Stable.downloads.chromedriver[0].url\")\"\ndownload_path_chrome_linux=\"\/opt\/chrome-headless-shell-linux.zip\"\ndownload_path_chrome_driver_linux=\"\/opt\/chrome-driver-linux.zip\"\nmkdir -p \"\/opt\/chrome\"\ncurl -Lo $download_path_chrome_linux $latest_chrome_linux_download_url\nunzip -q $download_path_chrome_linux -d \"\/opt\/chrome\"\nrm -rf $download_path_chrome_linux\nmkdir -p \"\/opt\/chrome-driver\"\ncurl -Lo $download_path_chrome_driver_linux $latest_chrome_driver_linux_download_url\nunzip -q $download_path_chrome_driver_linux -d \"\/opt\/chrome-driver\"\nrm -rf $download_path_chrome_driver_linux\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>*<em>\u062a\u0648\u0636\u06cc\u062d:<br \/>*<\/em><\/p>\n<ul>\n<li>curl -s: \u0622\u062e\u0631\u06cc\u0646 \u0646\u0633\u062e\u0647\u200c\u0647\u0627\u06cc \u067e\u0627\u06cc\u062f\u0627\u0631 Chrome \u0648 ChromeDriver \u0631\u0627 \u0648\u0627\u06a9\u0634\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/li>\n<li>mkdir -p: \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0647\u0627\u06cc\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u062f\u0627\u0646\u0644\u0648\u062f \u0634\u062f\u0647 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>unzip -q: \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u062f\u0627\u0646\u0644\u0648\u062f \u0634\u062f\u0647 \u0631\u0627 \u0628\u0647 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0647\u0627\u06cc \u0645\u0634\u062e\u0635 \u0634\u062f\u0647 \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<\/ul>\n<p><strong>\u0633\u0627\u062e\u062a\u0646\u060c \u0628\u0631\u0686\u0633\u0628 \u06af\u0630\u0627\u0631\u06cc\u060c \u0648 \u0641\u0634\u0627\u0631 \u062f\u0627\u062f\u0646 \u062a\u0635\u0648\u06cc\u0631 \u062f\u0627\u06a9\u0631<\/strong><\/p>\n<p>\u0633\u0627\u062e\u062a \u062a\u0635\u0648\u06cc\u0631 \u062f\u0627\u06a9\u0631:<\/p>\n<ul>\n<li>docker build -t selenium-chrome-driver .<\/li>\n<\/ul>\n<p>\u062a\u0635\u0648\u06cc\u0631 \u062f\u0627\u06a9\u0631 \u0631\u0627 \u062a\u06af \u06a9\u0646\u06cc\u062f:<\/p>\n<ul>\n<li>docker tag selenium-chrome-driver .dkr.ecr.us-east-1.amazonaws.com\/docker-images:v1.0.0<\/li>\n<\/ul>\n<p><strong>\u062a\u0635\u0648\u06cc\u0631 Docker \u0631\u0627 \u0628\u0647 AWS ECR \u0641\u0634\u0627\u0631 \u062f\u0647\u06cc\u062f:<\/strong><\/p>\n<ul>\n<li>\n<p>aws ecr get-login-password &#8211;region us-east-1 |  \u0648\u0631\u0648\u062f \u0628\u0647 \u0633\u06cc\u0633\u062a\u0645 \u062f\u0627\u06a9\u0631 &#8212; \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc AWS &#8211;password-stdin .dkr.ecr.us-east-1.amazonaws.com\/docker-images<\/p>\n<\/li>\n<li>\n<p>docker push .dkr.ecr.us-east-1.amazonaws.com\/docker-images:v1.0.0<\/p>\n<\/li>\n<\/ul>\n<p>\u062a\u0648\u0636\u06cc\u062d:<\/p>\n<ul>\n<li>docker build: \u062a\u0635\u0648\u06cc\u0631 Docker \u0631\u0627 \u0627\u0632 Dockerfile \u0645\u06cc \u0633\u0627\u0632\u062f.<\/li>\n<li>\u062a\u06af docker: \u062a\u0635\u0648\u06cc\u0631 \u0631\u0627 \u0628\u0627 \u06cc\u06a9 \u0646\u0633\u062e\u0647 \u062e\u0627\u0635 \u0628\u0631\u0686\u0633\u0628 \u06af\u0630\u0627\u0631\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>docker push: \u062a\u0635\u0648\u06cc\u0631 \u0631\u0627 \u0628\u0647 \u0645\u062e\u0632\u0646 \u0645\u0634\u062e\u0635 \u0634\u062f\u0647 AWS ECR \u0645\u06cc \u0628\u0631\u062f.<\/li>\n<li>\u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062a\u0627\u0628\u0639 \u0644\u0627\u0645\u0628\u062f\u0627<\/li>\n<\/ul>\n<p>\u067e\u0633 \u0627\u0632 \u0641\u0634\u0627\u0631 \u062f\u0627\u062f\u0646 \u062a\u0635\u0648\u06cc\u0631 \u0628\u0647 AWS ECR\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 AWS Lambda \u0645\u0633\u062a\u0642\u0631 \u06a9\u0646\u06cc\u062f.  \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u0628\u0647 AWS \u0648\u0627\u0631\u062f \u0634\u062f\u0647 \u0627\u06cc\u062f \u0648 \u0645\u062c\u0648\u0632\u0647\u0627\u06cc \u0644\u0627\u0632\u0645 \u0631\u0627 \u062f\u0627\u0631\u06cc\u062f.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/media.dev.to\/cdn-cgi\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6j27hdy8gizh17peafxp.png\" alt=\"\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u062a\u0635\u0648\u06cc\u0631\" loading=\"lazy\" width=\"800\" height=\"193\" title=\"\"><\/p>\n<p>\u0645\u0646\u0627\u0628\u0639 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0631\u0627 \u062f\u0631 \u0638\u0631\u0641 \u0627\u0641\u0632\u0627\u06cc\u0634 \u062f\u0647\u06cc\u062f \u062a\u0627 \u062d\u0627\u0641\u0638\u0647 \u0622\u0646 \u062a\u0645\u0627\u0645 \u0646\u0634\u0648\u062f \u06cc\u0627 \u062a\u0645\u0627\u0645 \u0646\u0634\u0648\u062f.<\/p>\n<p>\u067e\u0633 \u0627\u0632 \u0627\u062c\u0631\u0627\u06cc \u06cc\u06a9 \u0631\u0648\u06cc\u062f\u0627\u062f \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc\u060c \u062e\u0631\u0648\u062c\u06cc \u0645\u0648\u0641\u0642\u06cc \u0631\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645!  \u06a9\u0627\u0631 \u06a9\u0631\u062f \ud83d\ude42<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/media.dev.to\/cdn-cgi\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj2vk5mz3wnknhkn8l0mp.png\" alt=\"\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u062a\u0635\u0648\u06cc\u0631\" loading=\"lazy\" width=\"800\" height=\"457\" title=\"\"><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D9%86%D8%AA%DB%8C%D8%AC%D9%87\"><\/span>\n<p>  \u0646\u062a\u06cc\u062c\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647\u060c \u0641\u0631\u0622\u06cc\u0646\u062f \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0633\u0644\u0646\u06cc\u0648\u0645 \u0628\u0627 ChromeDriver \u062f\u0631 \u0639\u0645\u0644\u06a9\u0631\u062f AWS Lambda \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Docker \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0631\u062f\u06cc\u0645.  \u0627\u06cc\u0646 \u0631\u0648\u06cc\u06a9\u0631\u062f \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u0627\u0632 \u0642\u062f\u0631\u062a \u0633\u0644\u0646\u06cc\u0648\u0645 \u0628\u0631\u0627\u06cc \u0627\u062a\u0648\u0645\u0627\u0633\u06cc\u0648\u0646 \u0645\u0631\u0648\u0631\u06af\u0631 \u062f\u0631 \u06cc\u06a9 \u0645\u062d\u06cc\u0637 \u0628\u062f\u0648\u0646 \u0633\u0631\u0648\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0627\u0632 \u0645\u0642\u06cc\u0627\u0633 \u067e\u0630\u06cc\u0631\u06cc \u0648 \u06a9\u0627\u0631\u0627\u06cc\u06cc \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u06a9\u0646\u06cc\u062f.  \u0628\u0627 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u06cc \u06a9\u0631\u062f\u0646 \u0628\u0631\u0646\u0627\u0645\u0647\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627 \u0631\u0627 \u0628\u0647 \u0637\u0648\u0631 \u0645\u0624\u062b\u0631\u062a\u0631\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0647 \u0637\u0648\u0631 \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u062f\u0631 AWS Lambda \u0645\u0633\u062a\u0642\u0631 \u0634\u0648\u06cc\u062f.<\/p>\n<p>\u0628\u0627 \u062e\u06cc\u0627\u0644 \u0631\u0627\u062d\u062a \u0627\u06cc\u0646 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0631\u0627 \u0628\u0631\u0627\u06cc \u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u0627\u062a\u0648\u0645\u0627\u0633\u06cc\u0648\u0646 \u0645\u0631\u0648\u0631\u06af\u0631 \u062e\u0648\u062f \u0622\u0632\u0645\u0627\u06cc\u0634 \u06a9\u0631\u062f\u0647 \u0648 \u06af\u0633\u062a\u0631\u0634 \u062f\u0647\u06cc\u062f.  \u0645\u0648\u0641\u0642 \u0628\u0627\u0634\u06cc\u062f \u0648 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06cc\u0627 \u062d\u0645\u0627\u06cc\u062a \u0631\u0627 \u0641\u0631\u0627\u0645\u0648\u0634 \u0646\u06a9\u0646\u06cc\u062f!<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c \u0645\u0646 \u0634\u0645\u0627 \u0631\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0641\u0631\u0622\u06cc\u0646\u062f \u0627\u062c\u0631\u0627\u06cc \u0633\u0644\u0646\u06cc\u0648\u0645 \u0628\u0627 ChromeDriver \u062f\u0631 \u06cc\u06a9 \u062a\u0627\u0628\u0639 AWS Lambda \u0631\u0627\u0647\u0646\u0645\u0627\u06cc\u06cc \u0645\u06cc\u200c\u06a9\u0646\u0645. \u0627\u06cc\u0646 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0628\u0631\u0627\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631 \u06a9\u0631\u062f\u0646 \u0648\u0638\u0627\u06cc\u0641 \u0627\u0633\u06a9\u0631\u0627\u067e\u06cc \u0648\u0628\u060c \u0622\u0632\u0645\u0627\u06cc\u0634 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0648\u0628 \u06cc\u0627 \u0627\u0646\u062c\u0627\u0645 \u0647\u0631 \u06a9\u0627\u0631 \u0627\u062a\u0648\u0645\u0627\u0633\u06cc\u0648\u0646 \u0645\u0631\u0648\u0631\u06af\u0631 \u062f\u0631 \u0641\u0636\u0627\u06cc \u0627\u0628\u0631\u06cc \u0645\u0641\u06cc\u062f \u0627\u0633\u062a. \u0628\u0627 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u06cc \u06a9\u0631\u062f\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u0627 \u0648 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0622\u0646 \u062f\u0631 AWS Lambda\u060c \u0645\u0627 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":69316,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/media.dev.to\/cdn-cgi\/image\/width=1000,height=500,fit=cover,gravity=auto,format=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl83rnvy1neit8dqkm595.png","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-69313","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/69313","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=69313"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/69313\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/69316"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=69313"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=69313"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=69313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}