在无GUI环境下使用 python + selenium + headless chrome|云服务器 ECS - 开发者论坛

[复制链接]
查看: 16|回复: 0

22

主题

22

帖子

70

积分

注册会员

Rank: 2

积分
70
发表于 2019-2-15 22:58:52 | 显示全部楼层 |阅读模式

<div class="f14 mb10" id="read_tpc">
感谢昵昵。<span style="display:none"> "O[76}I+.q </span>&nbsp;<br /> <span style="display:none"> R.H\b!  </span>&nbsp;<br /><span onclick="sendmsg('pw_ajax.php','action=relatetag&tagname=环境',this.id)" style="cursor:pointer;border-bottom: 1px solid #FA891B;" id="rlt_2">环境</span>:Debian 9<span style="display:none"> P!        Ed  </span>&nbsp;<br /> <span style="display:none"> AaYrVf        9! </span>&nbsp;<br />过程:<span style="display:none"> ~H|LWCU)K8 </span>&nbsp;<br /> <span style="display:none"> @JEmybu </span>&nbsp;<br />1.python -v # 查看默认的<span onclick="sendmsg('pw_ajax.php','action=relatetag&tagname=python',this.id)" style="cursor:pointer;border-bottom: 1px solid #FA891B;" id="rlt_6">python</span>版本,本例是 python2.7<span style="display:none"> 'ZH&lt;g8:=@ </span>&nbsp;<br /><span id="att_144585" class="f12"><span id="td_att144585" onmouSEOver="read.open('menu_att144585','td_att144585');" style="display:inline-block;"><img src="http://bbs.aliyun.com/attachment/Fid_207/207_1477160476054779_24334793b38b88a.png?9" border="0" style="max-width:995px;" onload="if(this.offsetWidth>'995')this.width='995';"></span><div id="menu_att144585" class="pw_menu" style="display:none;"><div style="border:1px solid #ffffff;background:#f3f9fb;padding:5px 10px;"><p><span class="mr10">图片:python-selenium-webdriver-headless-1.png</span></p></div></div></span><span style="display:none"> (+LR        u1z </span>&nbsp;<br /> <span style="display:none"> 5@D7/$bLp
</span>&nbsp;<br />2.pip install -U selenium # <span onclick="sendmsg('pw_ajax.php','action=relatetag&tagname=安装',this.id)" style="cursor:pointer;border-bottom: 1px solid #FA891B;" id="rlt_1">安装</span> selenium<span style="display:none"> 1m`tqlFU9 </span>&nbsp;<br /><span id="att_144586" class="f12"><span id="td_att144586" onmouseover="read.open('menu_att144586','td_att144586');" style="display:inline-block;"><img src="http://bbs.aliyun.com/attachment/Fid_207/207_1477160476054779_6369d25f35f564b.png?17" border="0" style="max-width:995px;" onload="if(this.offsetWidth>'995')this.width='995';"></span><div id="menu_att144586" class="pw_menu" style="display:none;"><div style="border:1px solid #ffffff;background:#f3f9fb;padding:5px 10px;"><p><span class="mr10">图片:python-selenium-webdriver-headless-2.png</span></p></div></div></span><span style="display:none"> "QO/Jls </span>&nbsp;<br /> <span style="display:none"> 46Q; F </span>&nbsp;<br />3.apt install xvfb # 如需运行firefox,需安装 xvfb<span style="display:none"> a\69,%!: </span>&nbsp;<br /><span id="att_144587" class="f12"><span id="td_att144587" onmouseover="read.open('menu_att144587','td_att144587');" style="display:inline-block;"><img src="http://bbs.aliyun.com/attachment/Fid_207/207_1477160476054779_2142fcf7f72a04d.png?20" border="0" style="max-width:995px;" onload="if(this.offsetWidth>'995')this.width='995';"></span><div id="menu_att144587" class="pw_menu" style="display:none;"><div style="border:1px solid #ffffff;background:#f3f9fb;padding:5px 10px;"><p><span class="mr10">图片:python-selenium-webdriver-headless-3.png</span></p></div></div></span><span style="display:none"> L-C/Luws </span>&nbsp;<br /> <span style="display:none"> |SP.S        0.y </span>&nbsp;<br />4.pip install PyVirtualDisplay # 如需运行firefox,还需安装 PyVirtualDisplay<span style="display:none"> bp>ps@zFq </span>&nbsp;<br /><span id="att_144588" class="f12"><span id="td_att144588" onmouseover="read.open('menu_att144588','td_att144588');" style="display:inline-block;"><img src="http://bbs.aliyun.com/attachment/Fid_207/207_1477160476054779_7c5a394cfba7a34.png?26" border="0" style="max-width:995px;" onload="if(this.offsetWidth>'995')this.width='995';"></span><div id="menu_att144588" class="pw_menu" style="display:none;"><div style="border:1px solid #ffffff;background:#f3f9fb;padding:5px 10px;"><p><span class="mr10">图片:python-selenium-webdriver-headless-4.png</span></p></div></div></span><span style="display:none"> tOM3Gs~o6z </span>&nbsp;<br /> <span style="display:none"> Z!-&lt;rajl </span>&nbsp;<br />5.wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - # 添加谷歌的安装源key<span style="display:none"> *_&lt;*bhR&lt; </span>&nbsp;<br /> <span style="display:none"> `Kc        %S^C' </span>&nbsp;<br />6.echo &#39;deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main&#39; | tee /etc/apt/sources.list.d/google-chrome.list # 添加谷歌chrome安装源<span style="display:none"> "h^#&lt;bPN </span>&nbsp;<br /><span id="att_144589" class="f12"><span id="td_att144589" onmouseover="read.open('menu_att144589','td_att144589');" style="display:inline-block;"><img src="http://bbs.aliyun.com/attachment/thumb/Fid_207/207_1477160476054779_fb37469a1279be9.png?12" border="0" style="max-width:995px;" onload="if(this.offsetWidth>'995')this.width='995';"></span><div id="menu_att144589" class="pw_menu" style="display:none;"><div style="border:1px solid #ffffff;background:#f3f9fb;padding:5px 10px;"><p><span class="mr10">图片:python-selenium-webdriver-headless-5.png</span></p></div></div></span><span style="display:none"> 3.&lt;6;? </span>&nbsp;<br /> <span style="display:none"> aY[0A_ </span>&nbsp;<br />7.apt updat &amp;&amp; apt install google-chrome-stable # 安装 google-chrome-stable<span style="display:none"> nn)`eR& </span>&nbsp;<br /><span id="att_144590" class="f12"><span id="td_att144590" onmouseover="read.open('menu_att144590','td_att144590');" style="display:inline-block;"><img src="http://bbs.aliyun.com/attachment/Fid_207/207_1477160476054779_6bd8620b645b67f.png?13" border="0" style="max-width:995px;" onload="if(this.offsetWidth>'995')this.width='995';"></span><div id="menu_att144590" class="pw_menu" style="display:none;"><div style="border:1px solid #ffffff;background:#f3f9fb;padding:5px 10px;"><p><span class="mr10">图片:python-selenium-webdriver-headless-6.png</span></p></div></div></span><span style="display:none"> ^?X ^+ </span>&nbsp;<br /> <span style="display:none"> JXY!c\, </span>&nbsp;<br />8.mkdir /home/dev &amp;&amp; cd /home/dev &amp;&amp; wget https://chromedriver.storage.googleapis.com/2.39/chromedriver_linux64.zip # <span onclick="sendmsg('pw_ajax.php','action=relatetag&tagname=下载',this.id)" style="cursor:pointer;border-bottom: 1px solid #FA891B;" id="rlt_3">下载</span> chromedriver,保存到 /home/dev 目录<span style="display:none"> n E,gQHw </span>&nbsp;<br /><span id="att_144591" class="f12"><span id="td_att144591" onmouseover="read.open('menu_att144591','td_att144591');" style="display:inline-block;"><img src="http://bbs.aliyun.com/attachment/Fid_207/207_1477160476054779_c3b8cbf2a7b6a02.png?16" border="0" style="max-width:995px;" onload="if(this.offsetWidth>'995')this.width='995';"></span><div id="menu_att144591" class="pw_menu" style="display:none;"><div style="border:1px solid #ffffff;background:#f3f9fb;padding:5px 10px;"><p><span class="mr10">图片:python-selenium-webdriver-headless-7.png</span></p></div></div></span><span style="display:none"> bj7MzlGFy </span>&nbsp;<br /> <span style="display:none"> Iwt2}E(e </span>&nbsp;<br />9 unzip chromedriver_linux64.zip # 解压<span style="display:none"> %V%#y        $l </span>&nbsp;<br /> <span style="display:none"> I4&lt;{R </span>&nbsp;<br />10.vi test.py # 创建测试文件,内容如下,获取本<span onclick="sendmsg('pw_ajax.php','action=relatetag&tagname=博客',this.id)" style="cursor:pointer;border-bottom: 1px solid #FA891B;" id="rlt_5">博客</span>首页的标题<span style="display:none"> loC5o|Wh </span>&nbsp;<br /> <span style="display:none"> 4ljvoJ}xjr </span>&nbsp;<br /><div class="f12">复制代码</div><div class="blockquote2" id="code1"><ol><li>from selenium import webdriver</li><li># Option 1 - with ChromeOptions</li><li>chrome_options = webdriver.ChromeOptions()</li><li>chrome_options.add_argument(&#39;--headless&#39;)</li><li>chrome_options.add_argument(&#39;--no-sandbox&#39;) # required when running as root user. otherwise you would get no sandbox errors.</li><li>driver = webdriver.Chrome(executable_path=&#39;/home/dev/chromedriver&#39;, chrome_options=chrome_options,</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;service_args=[&#39;--verbose&#39;, &#39;--log-path=/tmp/chromedriver.log&#39;])</li><li># Option 2 - with pyvirtualdisplay</li><li># from pyvirtualdisplay import Display</li><li>#display = Display(visible=0, size=(1024, 768))</li><li># display.start()</li><li>#driver = webdriver.Chrome(executable_path=&#39;/home/dev/chromedriver&#39;,</li><li>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;service_args=[&#39;--verbose&#39;, &#39;--log-path=/tmp/chromedriver.log&#39;])</li><li># Log path added via service_args to see errors if something goes wrong (always a good idea - many of the errors I encountered were described in the logs)</li><li># And now you can add your website / app testing functionality:</li><li>driver.get(&#39;https://liujia.anqun.org&#39;)</li><li>print(driver.title)</li><li># driver.click...</li></ol></div><span style="display:none"> YoF\ MT]W </span>&nbsp;<br /><span id="att_144592" class="f12"><span id="td_att144592" onmouseover="read.open('menu_att144592','td_att144592');" style="display:inline-block;"><img src="http://bbs.aliyun.com/attachment/Fid_207/207_1477160476054779_0b7d5cd581564bd.png?30" border="0" style="max-width:995px;" onload="if(this.offsetWidth>'995')this.width='995';"></span><div id="menu_att144592" class="pw_menu" style="display:none;"><div style="border:1px solid #ffffff;background:#f3f9fb;padding:5px 10px;"><p><span class="mr10">图片:python-selenium-webdriver-headless-8.png</span></p></div></div></span><span style="display:none"> zK>'tFU </span>&nbsp;<br /> <span style="display:none"> qsft*& </span>&nbsp;<br />11.python test.py # 测试,能显示正确标题<span style="display:none"> ,dZ        H$ </span>&nbsp;<br /><span id="att_144593" class="f12"><span id="td_att144593" onmouseover="read.open('menu_att144593','td_att144593');" style="display:inline-block;"><img src="http://bbs.aliyun.com/attachment/Fid_207/207_1477160476054779_11d77a30631932d.png?3" border="0" style="max-width:995px;" onload="if(this.offsetWidth>'995')this.width='995';"></span><div id="menu_att144593" class="pw_menu" style="display:none;"><div style="border:1px solid #ffffff;background:#f3f9fb;padding:5px 10px;"><p><span class="mr10">图片:python-selenium-webdriver-headless-9.png</span></p></div></div></span><span style="display:none"> cPx ~|,)l </span>&nbsp;<br /> <span style="display:none"> g8+4$2`ny </span>&nbsp;<br />参考:<span style="display:none"> sw$R2K{y </span>&nbsp;<br /><ul style="margin:0 0 0 25px"><li><span onclick="sendmsg('pw_ajax.php','action=relatetag&tagname=https',this.id)" style="cursor:pointer;border-bottom: 1px solid #FA891B;" id="rlt_4">https</span>://blog.testproject.io/2018/02/20/chrome-headless-selenium-python-linux-servers/</li><li>https://askubuntu.com/questions/510056/how-to-install-google-chrome</li><li>https://stackoverflow.com/questions/51686224/typeerror-urlopen-got-multiple-values-for-keyword-argument-body-while-execu</li><li>https://github.com/python-telegram-bot/python-telegram-bot/issues/481</li></ul><span style="display:none"> lpfwlB'~9 </span>&nbsp;<br /> <span style="display:none"> 3%[)!zKv </span>&nbsp;<br /><div id="alert_tpc" style="color:gray;margin-top:30px">[ 此帖被dongshan8在2018-09-01 18:58重新编辑 ]</div>
</div>
</div>
<!--content_read-->
</td>
</tr>
<tr>
腾讯云
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩图文



在线客服(工作时间:9:00-22:00)
400-600-6565

内容导航

微信客服

Copyright   ©2015-2019  云服务器社区  Powered by©Discuz!  技术支持:尊托网络     ( 湘ICP备15009499号-1 )