【发布时间】:2018-12-16 18:45:19
【问题描述】:
Ubuntu 18.x + selenium webdriver(Firefox)
面对一个奇怪的问题,如果我将run 全部放在一起,则以下块可以工作
from selenium import webdriver
url = 'https://indiamart.com'
driver = webdriver.Firefox()
driver.get(url)
driver.find_element_by_xpath(xpath).click()
我尝试过的每个url 都会发生这种情况。
但是,如果我一次执行一行,它会给出
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/media/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 326, in get
self.execute(Command.GET, {'url': url})
File "/media/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 312, in execute
response = self.command_executor.execute(driver_command, params)
File "/media/lib/python3.6/site-packages/selenium/webdriver/remote/remote_connection.py", line 472, in execute
return self._request(command_info[0], url, body=data)
File "/media/lib/python3.6/site-packages/selenium/webdriver/remote/remote_connection.py", line 495, in _request
self._conn.request(method, parsed_url.path, body, headers)
File "/usr/lib/python3.6/http/client.py", line 1239, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/lib/python3.6/http/client.py", line 1285, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/usr/lib/python3.6/http/client.py", line 1234, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/usr/lib/python3.6/http/client.py", line 1065, in _send_output
self.send(chunk)
File "/usr/lib/python3.6/http/client.py", line 986, in send
self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe
这是code上的error
driver.get(url)
但是,如果我在 Broken Pipe error 之后再次执行同一行,它会起作用并获得 url。
我很困惑。谁能帮帮我。
谢谢
【问题讨论】:
-
url定义在哪里? -
嗨,Andrei,让它含糊不清,因为每个网址都会发生这种情况。
-
你可以在非无头模式下运行它,这样你就可以看到浏览器窗口打开和(也许)关闭了吗?
-
用 chrome 试试看是否会出现同样的问题
标签: python selenium ubuntu selenium-webdriver