{"id":89,"date":"2022-12-29T16:49:56","date_gmt":"2022-12-29T08:49:56","guid":{"rendered":"https:\/\/mianka.xyz\/?p=88"},"modified":"2022-12-29T17:00:26","modified_gmt":"2022-12-29T09:00:26","slug":"linuxpythonselenium","status":"publish","type":"post","link":"https:\/\/www.mianka.xyz\/?p=89","title":{"rendered":"Linux\u7cfb\u7edf\u4e0b\u4f7f\u7528Python+selenium+\u8c37\u6b4c\u6d4f\u89c8\u5668\u4e0b\u8f7d\u6587\u4ef6"},"content":{"rendered":"<pre class=\"prism-highlight prism-language-python\">from&nbsp;seleniumwire&nbsp;import&nbsp;webdriver\nimport&nbsp;time\nch_options&nbsp;=&nbsp;webdriver.ChromeOptions()\nch_options.add_argument(&quot;--headless&quot;)&nbsp;&nbsp;\nch_options.add_argument(&#39;--no-sandbox&#39;)\nch_options.add_argument(&#39;--disable-gpu&#39;)\nch_options.add_argument(&#39;--disable-dev-shm-usage&#39;)\nch_options.add_experimental_option(&#39;excludeSwitches&#39;,&nbsp;[&#39;enable-logging&#39;])\n#\u4e0a\u9762\u4e3aChrome\u914d\u7f6e\u65e0\u5934\u6a21\u5f0f\nprefs&nbsp;=&nbsp;{&#39;profile.default_content_settings.popups&#39;:&nbsp;0,&nbsp;&#39;download.default_directory&#39;:&nbsp;&#39;c:\\\\&#39;,&#39;download.prompt_for_download&#39;:False}\nch_options.add_experimental_option(&#39;prefs&#39;,&nbsp;prefs)&nbsp;\ndriver&nbsp;=&nbsp;webdriver.Chrome(options=ch_options)\ndriver.command_executor._commands[&quot;send_command&quot;]&nbsp;=&nbsp;(&quot;POST&quot;,&nbsp;&#39;\/session\/$sessionId\/chromium\/send_command&#39;)\nparams&nbsp;=&nbsp;{&#39;cmd&#39;:&nbsp;&#39;Page.setDownloadBehavior&#39;,&nbsp;&#39;params&#39;:&nbsp;{&#39;behavior&#39;:&nbsp;&#39;allow&#39;,&nbsp;&#39;downloadPath&#39;:&nbsp;&quot;c:\\\\&quot;}}\ncommand_result&nbsp;=&nbsp;driver.execute(&quot;send_command&quot;,&nbsp;params)\n#\u4e0a\u9762\u5168\u90e8\u90fd\u662f\u914d\u7f6e\ndriver.get(&#39;https:\/\/xxx.xxx.xxx\/download\/xxxx\/xxxx\/&#39;)\ndriver.delete_all_cookies()\ncookies=[{&#39;domain&#39;:&nbsp;&#39;xxx.xxx.xxx&#39;,&nbsp;&#39;httpOnly&#39;:&nbsp;False,&nbsp;&#39;name&#39;:&nbsp;&#39;Hm_lpvt_6bcd52f51e9b3dce32bec4a3997715ac&#39;,&nbsp;&#39;path&#39;:&nbsp;&#39;\/&#39;,&nbsp;&#39;secure&#39;:&nbsp;False,&nbsp;&#39;value&#39;:&nbsp;&#39;1665276322&#39;},&nbsp;{&#39;domain&#39;:&nbsp;&#39;.csdn.net&#39;,&nbsp;&#39;expiry&#39;:&nbsp;1699836321,&nbsp;&#39;httpOnly&#39;:&nbsp;False,&nbsp;&#39;name&#39;:&nbsp;&#39;log_Id_pv&#39;,&nbsp;&#39;path&#39;:&nbsp;&#39;\/&#39;,&nbsp;&#39;secure&#39;:&nbsp;False,&nbsp;&#39;value&#39;:&nbsp;&#39;3&#39;},&nbsp;{&#39;domain&#39;:&nbsp;&#39;.csdn.net&#39;,&nbsp;&#39;expiry&#39;:&nbsp;1680828321,&nbsp;&#39;httpOnly&#39;:&nbsp;False,&nbsp;&#39;name&#39;:&nbsp;&#39;ssxmod_itna&#39;,&nbsp;&#39;path&#39;:&nbsp;&#39;\/&#39;,&nbsp;&#39;secure&#39;:&nbsp;False,&nbsp;&#39;value&#39;:&nbsp;&#39;eqUxg7D=DtqDT4Yq0Ln7tD9mxceoODue=e8e+hx0yDyeGzDAxn40iDt==uBQPgehwwPeWoecGeoCARGqIN4piPxYjG9d2eDHxY=DU=fReDx1q0rD74irDDxD3yD7PGmDie1RD7EZlMgkMQD3qDwDB=DmqG2eQiDAf6ACA=MS4rxaeDS42UxKA=DjqGgDBdtY1bDGLnT1GNMBnTDbrpuQniDtqD98mUXWeDHGuNlYTFsI346So+PIGqF4OGPW0hiRiLY\/2DbCBeWFBqqRAGdUA5IPD===&#39;},&nbsp;{&#39;domain&#39;:&nbsp;&#39;.xxx.xxx&#39;,&nbsp;&#39;expiry&#39;:&nbsp;1680828316,&nbsp;&#39;httpOnly&#39;:&nbsp;False,&nbsp;&#39;name&#39;:&nbsp;&#39;ssxmod_itna2&#39;,&nbsp;&#39;path&#39;:&nbsp;&#39;\/&#39;,&nbsp;&#39;secure&#39;:&nbsp;False,&nbsp;&#39;value&#39;:&nbsp;&#39;7uiQD57KDKBKAKGQDXDnWIP+j=b8GCbA3bD8ujA8DeGXIw4Ga+SmaOkx8xWFNbFw1PFBM26xMbm0548d9POIUbyfjL5cOPeFWyhk4dQpM6q6z0WyAkN8x8SR06tDlyGg=jHA54TDKq3DFqD2FiD=&#39;},&nbsp;{&#39;domain&#39;:&nbsp;&#39;.csdn.net&#39;,&nbsp;&#39;expiry&#39;:&nbsp;1696812321,&nbsp;&#39;httpOnly&#39;:&nbsp;False,&nbsp;&#39;name&#39;:&nbsp;&#39;Hm_ct_6bcd52f51e9b3dce32bec4a3997715ac&#39;,&nbsp;&#39;path&#39;:&nbsp;&#39;\/&#39;,&nbsp;&#39;secure&#39;:&nbsp;False,&nbsp;&#39;value&#39;:&nbsp;&#39;6525*1*10_20312428700-1665276319051-645465!5744*1*weixin_46704937&#39;},&nbsp;{&#39;domain&#39;:&nbsp;&#39;.xxx.xxx&#39;,&nbsp;&#39;expiry&#39;:&nbsp;1696812321,&nbsp;&#39;httpOnly&#39;:&nbsp;False,&nbsp;&#39;name&#39;:&nbsp;&#39;Hm_up_6bcd52f51e9b3dce32bec4a3997715ac&#39;,&nbsp;&#39;path&#39;:&nbsp;&#39;\/&#39;,&nbsp;&#39;secure&#39;:&nbsp;False,&nbsp;&#39;value&#39;:&nbsp;&#39;%7B%22islogin%22%3A%7B%22value%22%3A%221%22%2C%22scope%22%3A1%7D%2C%22isonline%22%3A%7B%22value%22%3A%221%22%2C%22scope%22%3A1%7D%2C%22isvip%22%3A%7B%22value%22%3A%220%22%2C%22scope%22%3A1%7D%2C%22uid_%22%3A%7B%22value%22%3A%22weixin_46704937%22%2C%22scope%22%3A1%7D%7D&#39;},&nbsp;{&#39;domain&#39;:&nbsp;&#39;xxx.xxx.xxx&#39;,&nbsp;&#39;httpOnly&#39;:&nbsp;False,&nbsp;&#39;name&#39;:&nbsp;&#39;csrfToken&#39;,&nbsp;&#39;path&#39;:&nbsp;&#39;\/&#39;,&nbsp;&#39;secure&#39;:&nbsp;True,&nbsp;&#39;value&#39;:&nbsp;&#39;Q3MDpIyCQcgeuB7pxn4bNskh&#39;},&nbsp;{&#39;domain&#39;:&nbsp;&#39;.xxx.xxx&#39;,&nbsp;&#39;expiry&#39;:&nbsp;1699836316,&nbsp;&#39;httpOnly&#39;:&nbsp;False,&nbsp;&#39;name&#39;:&nbsp;&#39;UN&#39;,&nbsp;&#39;path&#39;:&nbsp;&#39;\/&#39;,&nbsp;&#39;secure&#39;:&nbsp;False,&nbsp;&#39;value&#39;:&nbsp;&#39;weixin_46704937&#39;},&nbsp;{&#39;domain&#39;:&nbsp;&#39;.xxx.xxx&#39;,&nbsp;&#39;expiry&#39;:&nbsp;1680828316,&nbsp;&#39;httpOnly&#39;:&nbsp;False,&nbsp;&#39;name&#39;:&nbsp;&#39;AU&#39;,&nbsp;&#39;path&#39;:&nbsp;&#39;\/&#39;,&nbsp;&#39;secure&#39;:&nbsp;False,&nbsp;&#39;value&#39;:&nbsp;&#39;C65&#39;},&nbsp;{&#39;domain&#39;:&nbsp;&#39;.xxx.xxx&#39;,&nbsp;&#39;expiry&#39;:&nbsp;1680828316,&nbsp;&#39;httpOnly&#39;:&nbsp;True,&nbsp;&#39;name&#39;:&nbsp;&#39;UserInfo&#39;,&nbsp;&#39;path&#39;:&nbsp;&#39;\/&#39;,&nbsp;&#39;secure&#39;:&nbsp;False,&nbsp;&#39;value&#39;:&nbsp;&#39;9a9a1bb8a8574f0f840624255a525a9d&#39;},&nbsp;{&#39;domain&#39;:&nbsp;&#39;.xxxx.xxx&#39;,&nbsp;&#39;expiry&#39;:&nbsp;1665362697,&nbsp;&#39;httpOnly&#39;:&nbsp;False,&nbsp;&#39;name&#39;:&nbsp;&#39;hide_login&#39;,&nbsp;&#39;path&#39;:&nbsp;&#39;\/&#39;,&nbsp;&#39;secure&#39;:&nbsp;False,&nbsp;&#39;value&#39;:&nbsp;&#39;1&#39;},&nbsp;{&#39;domain&#39;:&nbsp;&#39;.xxxx.xxx&#39;,&nbsp;&#39;httpOnly&#39;:&nbsp;False,&nbsp;&#39;name&#39;:&nbsp;&#39;dc_sid&#39;,&nbsp;&#39;path&#39;:&nbsp;&#39;\/&#39;,&nbsp;&#39;secure&#39;:&nbsp;False,&nbsp;&#39;value&#39;:&nbsp;&#39;98da2cf7ebe528942c52bce87bddbc30&#39;},&nbsp;{&#39;domain&#39;:&nbsp;&#39;.xxxx.xxx&#39;,&nbsp;&#39;expiry&#39;:&nbsp;1680828316,&nbsp;&#39;httpOnly&#39;:&nbsp;False,&nbsp;&#39;name&#39;:&nbsp;&#39;p_uid&#39;,&nbsp;&#39;path&#39;:&nbsp;&#39;\/&#39;,&nbsp;&#39;secure&#39;:&nbsp;False,&nbsp;&#39;value&#39;:&nbsp;&#39;U010000&#39;},&nbsp;{&#39;domain&#39;:&nbsp;&#39;.xxxx.xxx&#39;,&nbsp;&#39;expiry&#39;:&nbsp;1696812321,&nbsp;&#39;httpOnly&#39;:&nbsp;False,&nbsp;&#39;name&#39;:&nbsp;&#39;Hm_lvt_6bcd52f51e9b3dce32bec4a3997715ac&#39;,&nbsp;&#39;path&#39;:&nbsp;&#39;\/&#39;,&nbsp;&#39;secure&#39;:&nbsp;False,&nbsp;&#39;value&#39;:&nbsp;&#39;1665276297&#39;},&nbsp;{&#39;domain&#39;:&nbsp;&#39;.xxxx.xxx&#39;,&nbsp;&#39;httpOnly&#39;:&nbsp;True,&nbsp;&#39;name&#39;:&nbsp;&#39;SESSION&#39;,&nbsp;&#39;path&#39;:&nbsp;&#39;\/&#39;,&nbsp;&#39;secure&#39;:&nbsp;False,&nbsp;&#39;value&#39;:&nbsp;&#39;4ec695cc-a4a8-403e-b4ee-a0d544f3b2ec&#39;},&nbsp;{&#39;domain&#39;:&nbsp;&#39;.xxxx.xxx&#39;,&nbsp;&#39;expiry&#39;:&nbsp;1699836295,&nbsp;&#39;httpOnly&#39;:&nbsp;False,&nbsp;&#39;name&#39;:&nbsp;&#39;uuid_tt_dd&#39;,&nbsp;&#39;path&#39;:&nbsp;&#39;\/&#39;,&nbsp;&#39;secure&#39;:&nbsp;False,&nbsp;&#39;value&#39;:&nbsp;&#39;10_20312428700-1665276319051-645465&#39;},&nbsp;{&#39;domain&#39;:&nbsp;&#39;.xxxx.xxx&#39;,&nbsp;&#39;httpOnly&#39;:&nbsp;False,&nbsp;&#39;name&#39;:&nbsp;&#39;c_first_page&#39;,&nbsp;&#39;path&#39;:&nbsp;&#39;\/&#39;,&nbsp;&#39;secure&#39;:&nbsp;False,&nbsp;&#39;value&#39;:&nbsp;&#39;https%3A\/\/xxx.xxxx.xxx\/&#39;},&nbsp;{&#39;domain&#39;:&nbsp;&#39;.xxxx.xxx&#39;,&nbsp;&#39;httpOnly&#39;:&nbsp;False,&nbsp;&#39;name&#39;:&nbsp;&#39;c_first_ref&#39;,&nbsp;&#39;path&#39;:&nbsp;&#39;\/&#39;,&nbsp;&#39;secure&#39;:&nbsp;False,&nbsp;&#39;value&#39;:&nbsp;&#39;default&#39;},&nbsp;{&#39;domain&#39;:&nbsp;&#39;.xxxx.xxx&#39;,&nbsp;&#39;expiry&#39;:&nbsp;1665278121,&nbsp;&#39;httpOnly&#39;:&nbsp;False,&nbsp;&#39;name&#39;:&nbsp;&#39;c_dsid&#39;,&nbsp;&#39;path&#39;:&nbsp;&#39;\/&#39;,&nbsp;&#39;secure&#39;:&nbsp;False,&nbsp;&#39;value&#39;:&nbsp;&#39;11_1665276295762.945349&#39;},&nbsp;{&#39;domain&#39;:&nbsp;&#39;.xxxx.xxx&#39;,&nbsp;&#39;expiry&#39;:&nbsp;1665279921,&nbsp;&#39;httpOnly&#39;:&nbsp;False,&nbsp;&#39;name&#39;:&nbsp;&#39;c_page_id&#39;,&nbsp;&#39;path&#39;:&nbsp;&#39;\/&#39;,&nbsp;&#39;secure&#39;:&nbsp;False,&nbsp;&#39;value&#39;:&nbsp;&#39;default&#39;},&nbsp;{&#39;domain&#39;:&nbsp;&#39;.xxxx.xxx&#39;,&nbsp;&#39;expiry&#39;:&nbsp;1680828316,&nbsp;&#39;httpOnly&#39;:&nbsp;True,&nbsp;&#39;name&#39;:&nbsp;&#39;UserToken&#39;,&nbsp;&#39;path&#39;:&nbsp;&#39;\/&#39;,&nbsp;&#39;secure&#39;:&nbsp;False,&nbsp;&#39;value&#39;:&nbsp;&#39;9a9a1bb8a8574f0f840624255a525a9d&#39;},&nbsp;{&#39;domain&#39;:&nbsp;&#39;.xxxx.xxx&#39;,&nbsp;&#39;expiry&#39;:&nbsp;1665290721,&nbsp;&#39;httpOnly&#39;:&nbsp;False,&nbsp;&#39;name&#39;:&nbsp;&#39;dc_tos&#39;,&nbsp;&#39;path&#39;:&nbsp;&#39;\/&#39;,&nbsp;&#39;secure&#39;:&nbsp;False,&nbsp;&#39;value&#39;:&nbsp;&#39;rjgnfl&#39;},&nbsp;]\nfor&nbsp;cookie&nbsp;in&nbsp;cookies:\n&nbsp;&nbsp;&nbsp;&nbsp;cookie_dict&nbsp;=&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;domain&#39;:&nbsp;&#39;xxx.xxx.xxx&#39;,#\u8fd9\u91cc\u662f\u56fa\u5b9a\u7684\u6bcf\u4e2a\u7f51\u7ad9\u90fd\u4e0d\u540c\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;name&#39;:&nbsp;cookie.get(&#39;name&#39;),\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;value&#39;:&nbsp;cookie.get(&#39;value&#39;),\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;expires&quot;:&nbsp;cookie.get(&#39;value&#39;),\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;path&#39;:&nbsp;&#39;\/&#39;,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;httpOnly&#39;:&nbsp;False,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;HostOnly&#39;:&nbsp;False,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;Secure&#39;:&nbsp;False}\n&nbsp;&nbsp;&nbsp;&nbsp;driver.add_cookie(cookie_dict)\ndriver.refresh()\ntime.sleep(1)\nbutton&nbsp;=&nbsp;driver.find_elements_by_xpath(&#39;\/\/span[@class=&quot;va-middle&quot;]&#39;)\n&nbsp;&nbsp;&nbsp;&nbsp;\nbutton[0].click()\n&nbsp;&nbsp;&nbsp;&nbsp;\ntime.sleep(1)\n&nbsp;&nbsp;&nbsp;&nbsp;\nbutton1&nbsp;=&nbsp;driver.find_element_by_xpath(&#39;\/\/button[@class=&quot;el-button&nbsp;btn-light&nbsp;css-throttle&nbsp;el-button--primary&nbsp;el-button--small&quot;]\/span&#39;)\n&nbsp;&nbsp;&nbsp;&nbsp;\nbutton1.click()\n&nbsp;&nbsp;&nbsp;&nbsp;\ntime.sleep(1)\nfor&nbsp;request&nbsp;in&nbsp;driver.requests:\n&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;request.response:\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;request.path&nbsp;==&nbsp;&quot;\/api\/source\/detail\/v1\/download&quot;:\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aa&nbsp;=&nbsp;request.response.body.decode(&quot;utf-8&quot;)\ninput(&#39;ok&#39;);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\ndriver.quit()<\/pre>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>fromseleniumwireimportwebdriverimporttimech_o&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[15,18],"class_list":["post-89","post","type-post","status-publish","format-standard","hentry","category-pythonbiji","tag-python","tag-selenium"],"_links":{"self":[{"href":"https:\/\/www.mianka.xyz\/index.php?rest_route=\/wp\/v2\/posts\/89","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mianka.xyz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mianka.xyz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mianka.xyz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mianka.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=89"}],"version-history":[{"count":0,"href":"https:\/\/www.mianka.xyz\/index.php?rest_route=\/wp\/v2\/posts\/89\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.mianka.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=89"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mianka.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=89"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mianka.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=89"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}