import sys
link = sys.argv[1]
link = link.replace("%26", "&")
link = link.replace("######", "&")
myProxy = sys.argv[2]
from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy, ProxyType
from selenium.webdriver.firefox.options import Options
proxy = Proxy({
'proxyType': ProxyType.MANUAL,
'httpProxy': myProxy,
'ftpProxy': myProxy,
'sslProxy': myProxy,
'noProxy': ''
})
options = Options()
options.headless = True
options.Proxy = proxy
driver = webdriver.Firefox(options=options)
driver.set_page_load_timeout(10000)
driver.get(link)
s = driver.page_source
print((s.encode("utf-8")))
print (driver.get_cookies())
driver.quit()
这段代码在几天前运行得非常完美,然后我注意到这条消息:
driver = webdriver.Firefox(options=options)
File "/usr/local/python3/lib/python3.6/site-packages/selenium/webdriver/firefox/webdriver.py", line 174, in __init__
keep_alive=True)
File "/usr/local/python3/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "/usr/local/python3/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/usr/local/python3/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/usr/local/python3/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: invalid argument: can't kill an exited process
我在互联网上搜索了一些解决方案,人们建议在代码中添加以下内容:
options = Options()
options.headless = True
但是我的代码中已经有了这个,所以这仍然不是我问题的解决方案,还有什么我可以做的吗?任何帮助或建议,以何种方式我应该去寻找解决办法,这将是有益的
基于代理设置,我认为问题在于noProxy选项
webdriver W3C说它应该是一个数组
参考:https://w3c.github.io/webdriver/#proxy
查看为配置提供的选项和值
相关问题 更多 >
编程相关推荐