关于python+selenium+Chrome的一些问题。get报错。请求大佬帮助

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于python+selenium+Chrome的一些问题。get报错。请求大佬帮助相关的知识,希望对你有一定的参考价值。

#coding = utf8
import os
from selenium import webdriver
chromedriver = "C:\Program Files (x86)\Google\Chrome\Application\chromedriver_x64.exe"
os.environ["webdriver.chrome.driver"]=chromedriver
driver = webdriver.Chrome(chromedriver)
print driver
driver.get("http://baidu.com")#运行到这的时候报错了。。。
print driver.title
browser.quit()
#下面的错误信息:
D:\Python27\python.exe F:/pycharm_code/temp_packge/temp1.py
<selenium.webdriver.chrome.webdriver.WebDriver (session="a3278a2398e547efb0d242d9f5368dc5")>
Traceback (most recent call last):
File "F:/pycharm_code/temp_packge/temp1.py", line 8, in <module>
browser.get("http://baidu.com")
File "D:\Python27\lib\site-packages\selenium-3.0.1-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 248, in get
self.execute(Command.GET, 'url': url)
File "D:\Python27\lib\site-packages\selenium-3.0.1-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 234, in execute
response = self.command_executor.execute(driver_command, params)
File "D:\Python27\lib\site-packages\selenium-3.0.1-py2.7.egg\selenium\webdriver\remote\remote_connection.py", line 407, in execute
return self._request(command_info[0], url, body=data)
File "D:\Python27\lib\site-packages\selenium-3.0.1-py2.7.egg\selenium\webdriver\remote\remote_connection.py", line 439, in _request
resp = self._conn.getresponse()
File "D:\Python27\lib\httplib.py", line 1136, in getresponse
response.begin()
File "D:\Python27\lib\httplib.py", line 453, in begin
version, status, reason = self._read_status()
File "D:\Python27\lib\httplib.py", line 409, in _read_status
line = self.fp.readline(_MAXLINE + 1)
File "D:\Python27\lib\socket.py", line 480, in readline
data = self._sock.recv(self._rbufsize)
socket.error: [Errno 10054]

参考技术A 你试试这样子,这样子我能打开:
#coding = utf8
import os
from selenium import webdriver
chromedriver = "C:\Program Files (x86)\Google\Chrome\Application\chromedriver_x64.exe"
os.environ["webdriver.chrome.driver"]=chromedriver
driver = webdriver.Chrome()
driver.get("http://baidu.com")#运行到这的时候报错了。。。
print(driver.title)
driver.quit()

还有就是你的seleniu是2.x还是3.x版本?你的chrome是多少版本的?你是否下载了兼容的东东:chromedriver.exe追问

还是不行- - 我selenium是3.x版本,chromedriver.exe按照网上教程配置了的。。。按照我那段代码运行后能打开chrome 但是让他进入百度就不行了。运行到get的时候就报错了。。。

追答

不要用3.x!!!你去用2.x,给你我的链接:

http://pan.baidu.com/s/1o7OjHyU

追问

换成2.45.0了。。还是报了同样的错误。。

追答

C:\Program Files (x86)\Google\Chrome\Application\chromedriver_x64.exe

是不是你的chromedriver_x64.exe放错了位置,这个是放在python文件夹里面,例如我的C:\python34\chromedriver.exe
还有你的chrome版本多少,不要高于50,我用过47和49的

追问

算了。。。跟网上的说说法差不多。。。但并没有什么用- =。。可能是我太笨了,我去找高年级的学长帮帮忙。。

本回答被提问者和网友采纳
参考技术B 请教下 这个问题怎么解决,遇到了同样问题

Chrome 中的 Python Selenium 代理

【中文标题】Chrome 中的 Python Selenium 代理【英文标题】:Python Selenium Proxy in Chrome 【发布时间】:2022-01-21 12:21:08 【问题描述】:

我一直在搜索大量论坛,以在 python 中使用代理和 selenium 库来防止通过 selenium 抓取网络时出现“最大数量”超时。

我在许多论坛中找到了下面的脚本,但它似乎对我不起作用......任何人都可以帮助我并给我一些关于如何通过 python 和 selenium 在 chrome 中实现代理的建议。

非常感谢!

脚本:

from selenium.webdriver.chrome.options import Options
from selenium import webdriver

chromedriver = directory....
PROXY = "177.202.59.58:8080"
chrome_options = Options()  
chrome_options.add_argument('--proxy-server=%s' % PROXY)
chrome = webdriver.Chrome(chromedriver, options=chrome_options)
chrome.get("https://whatismyipaddress.com")

【问题讨论】:

max number 超时错误更新问题。 【参考方案1】:

您的代码没有问题。该代理只是不可用/不再工作。 尝试找到另一个可以延长正常运行时间的代理。请记住,公共代理有明显的延迟,因此页面加载速度会很慢。

【讨论】:

以上是关于关于python+selenium+Chrome的一些问题。get报错。请求大佬帮助的主要内容,如果未能解决你的问题,请参考以下文章

基于Python+selenium+Chrome的网页自动化教程

python selenium怎么配置IE和chrome的代理,求代码

python的selenium自动化打开chrome后自动和手工混合操作?

Python+Selenium与Chrome如何进行完美结合

python+selenium+chrome网页自动化

Chrome Headless模式——Python+selenium+headerless