{"id":769,"date":"2021-11-08T21:11:53","date_gmt":"2021-11-08T13:11:53","guid":{"rendered":"https:\/\/dasmz.com\/?p=769"},"modified":"2021-11-08T21:11:56","modified_gmt":"2021-11-08T13:11:56","slug":"debian10%e7%b3%bb%e7%bb%9f%e4%b8%8b%ef%bc%8c%e5%ae%89%e8%a3%85chrome%e6%b5%8f%e8%a7%88%e5%99%a8%ef%bc%8c%e5%ae%89%e8%a3%85chrome-driver-2021-11-08","status":"publish","type":"post","link":"https:\/\/dasmz.com\/?p=769","title":{"rendered":"Debian10\u7cfb\u7edf\u4e0b\uff0c\u5b89\u88c5chrome\u6d4f\u89c8\u5668\uff0c\u5b89\u88c5chrome driver 2021-11-08"},"content":{"rendered":"\n<p>Debian10\u7cfb\u7edf\u4e0b\uff0c\u5b89\u88c5chrome\u6d4f\u89c8\u5668\uff0c\u5b89\u88c5chrome driver 2021-11-08<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># apt-get update\n\n# apt-get install wget curl unzip\n\n# mkdir -p \/root\/src\n\n# cd \/root\/src\n\n# wget https:\/\/dl.google.com\/linux\/direct\/google-chrome-stable_current_amd64.deb\n\n# apt install \/root\/src\/google-chrome-stable_current_amd64.deb\n  \/\/ \u5927\u7ea6600\u591aMB\u7684\uff0c\u9700\u8981\u4e00\u5b9a\u7684\u5b89\u88c5\u65f6\u95f4\n  \/\/ \u63d0\u793a Download is performed unsandboxed as root as file '\/root\/src\/google-chrome-stable_current_amd64.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)\n\n# ln -s \/usr\/bin\/google-chrome-stable \/usr\/bin\/chrome\n\n# \/usr\/bin\/chrome -version\n  \/\/ \u672c\u6b21\u5b89\u88c5\u5230\u7684\u7a33\u5b9a\u7248\u672c\u4e3a Google Chrome 95.0.4638.69 \n\n# wget https:\/\/chromedriver.storage.googleapis.com\/95.0.4638.69\/chromedriver_linux64.zip\n# mv chromedriver chromedriver.95.0.4638.69\n# ln -s \/root\/src\/chromedriver.95.0.4638.69  \/root\/src\/chromedriver\n  \/\/ https:\/\/chromedriver.chromium.org\/downloads\n  \/\/ https:\/\/chromedriver.storage.googleapis.com\/index.html?path=95.0.4638.69\/<\/pre>\n\n\n\n<p>\u4f7f\u7528\u4e0b\u9762\u7684Python3,selenium\u7684\u7a0b\u5e8f\uff0c\u8fdb\u884c\u529f\u80fd\u9a8c\u8bc1\uff01<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">#!\/usr\/bin\/python3\n# -*- coding:utf-8 -*-\nimport time\nfrom selenium import webdriver\n\naDriver = '\/root\/src\/chromedriver'\naScreenShot = '\/var\/www\/html\/ScreenShot.png'\n\ndef run_Chrome(aDriver, aUA, aURL):\n    try:\n        chromeOptions = webdriver.ChromeOptions()\n        chromeOptions.add_argument('--headless')                # \u65e0\u754c\u9762\u6a21\u5f0f\n        chromeOptions.add_argument(\"--window-size=1920x1080\")   # \u7a97\u53e3\u5927\u5c0f\n        chromeOptions.add_argument('--disable-gpu')             # \u5173\u95edGPU\u52a0\u901f\n        chromeOptions.add_argument(\"--mute-audio\")              # \u5173\u95ed\u58f0\u97f3\n        chromeOptions.add_argument(\"--no-sandbox\");             # \u65e0\u6c99\u7bb1\n        chromeOptions.add_argument(\"--disable-dev-shm-usage\")   # \n        chromeOptions.add_argument(\"--disable-extensions\")      # \u5173\u95ed\u6269\u5c55\u7a0b\u5e8f\n        chromeOptions.add_argument(\"--disable-images\")          # \u5173\u95ed\u56fe\u7247\u52a0\u8f7d\n        chromeOptions.add_argument(\"--log-level=OFF\")           # \u65e0\u9700\u65e5\u5fd7\n        chromeOptions.add_argument(f\"--user-agent={aUA}\")       # \u4fee\u6539UA\n        # chromeOptions.add_argument(f'--proxy-server={aProxy}')  # \u4fee\u6539\u8c37\u6b4c\u6d4f\u89c8\u5668\u7684\u4ee3\u7406\n        d = webdriver.Chrome(executable_path = aDriver, options = chromeOptions)\n        #  d.set_window_size(1920, 1080)                        # \u8bbe\u7f6e\u5206\u8fa8\u7387 (\u5bbd, \u9ad8)\n        d.get(aURL)                                             # \u6253\u5f00\u9700\u8981\u7684\u7f51\u5740\n        time.sleep(3)                                           # \u7ed9\u6d4f\u89c8\u5668\u7684\u7f51\u9875\u52a0\u8f7d\u7684\u65f6\u95f4\uff0c\u65b9\u5f0f1\n        #  webdriver.implicitly_wait(3)                         # \u7ed9\u6d4f\u89c8\u5668\u7684\u7f51\u9875\u52a0\u8f7d\u7684\u65f6\u95f4\uff0c\u65b9\u5f0f2\n        #  element_present = EC.presence_of_element_located((By.ID, 'element_id'))  # \u6839\u636e\u67d0\u4e2a\u5143\u7d20\u662f\u5426\u52a0\u8f7d\uff0c\u5224\u65ad\u662f\u5426\u5b8c\u6210\u9875\u9762\u52a0\u8f7d\uff0c\u65b9\u5f0f3\n        #  WebDriverWait(driver, timeout).until(element_present)\n        print(\"\u6807\u9898 %s\" % d.title)                              # \u7f51\u7ad9\u6807\u9898\n        print(\"URL %s\" % d.current_url)                         # \u5f53\u524d\u7684URL\n        print(\"\u6e90\u4ee3\u7801 %s\" % d.page_source)                      # \u5f53\u524d\u7684\u9875\u9762\u6e32\u67d3\u540e\u7684\u4ee3\u7801\n        d.save_screenshot(aScreenShot)                          # \u4fdd\u5b58\u4e00\u4e0b\u622a\u56fe\n        # d.page_source -- \u5b57\u7b26\u4e32\n        return d.page_source\n    except Exception as e:\n        print(e)\n        return \"\"\n    finally:\n        d.close()\n            \n\n\ndef go2web():\n    try:\n        aUA = 'Mozilla\/5.0 (Windows NT 4.0; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/37.0.2049.0 Safari\/555.36'\n        vWebContent = run_Chrome(aDriver = aDriver, aUA = aUA, aURL = 'http:\/\/\u67d0\u4e2a\u7f51\u5740\/')\n        print(vWebContent)\n    except Exception as e:\n        print(e)\n \n\nif __name__ == '__main__':\n    go2web()\n    <\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"574\" height=\"446\" src=\"https:\/\/dasmz.com\/wp-content\/uploads\/2020\/12\/DONATE.jpg\" alt=\"Donate\" class=\"wp-image-18\"\/><figcaption>\u4e91\u4e5e\u8ba8<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Debian10\u7cfb\u7edf\u4e0b\uff0c\u5b89\u88c5chrome\u6d4f\u89c8\u5668\uff0c\u5b89\u88c5chrome driver 2021-11-08 # ap [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"https:\/\/dasmz.com\/index.php?rest_route=\/wp\/v2\/posts\/769"}],"collection":[{"href":"https:\/\/dasmz.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dasmz.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dasmz.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dasmz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=769"}],"version-history":[{"count":1,"href":"https:\/\/dasmz.com\/index.php?rest_route=\/wp\/v2\/posts\/769\/revisions"}],"predecessor-version":[{"id":770,"href":"https:\/\/dasmz.com\/index.php?rest_route=\/wp\/v2\/posts\/769\/revisions\/770"}],"wp:attachment":[{"href":"https:\/\/dasmz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=769"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dasmz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=769"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dasmz.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=769"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}