我在 python 爬虫中有一段代码曾经可以工作。我将其安装在新系统上,现在正在尝试获取正确的依赖项。使用geckodriver 0.13.0并执行以下代码时:
def login(self):
print self.colors.OKBLUE + "Logging into my site as User: " + self.config.email + self.colors.ENDC
username = self.driver.find_element_by_css_selector('.my_user_field')
for c in self.config.email:
print "Sending key: " + c
username.send_keys(c + "")
我收到以下错误:
Sending key: b
Traceback (most recent call last):
File "main.py", line 20, in <module>
crawler.start()
File "/home/tyrick/dev/pycrawlers/sc/src/main/python/new.py", line 39, in start
self.login()
File "/home/tyrick/dev/pycrawlers/sc/src/main/python/new.py", line 147, in login
username.send_keys(c)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webelement.py", line 349, in send_keys
'value': keys_to_typing(value)})
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webelement.py", line 493, in _execute
return self._parent.execute(command, params)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 256, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: Expected [object Undefined] undefined to be a string
我在一些地方读到 geckodriver 有一个 bug,我应该使用 0.16.0。所以我尝试过 0.17.0,但现在收到以下错误:
Traceback (most recent call last):
File "main.py", line 18, in <module>
crawler = New()
File "/home/tyrick/dev/pycrawlers/sc/src/main/python/new.py", line 28, in __init__
self.driver = webdriver.Firefox()
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 152, in __init__
keep_alive=True)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 98, in __init__
self.start_session(desired_capabilities, browser_profile)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 188, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 256, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: elementScrollBehavior was not a the name of a known capability or a valid extension capability
好像我现在甚至无法初始化驱动程序。我正在使用 Selenium 3.4.3,据我所知,它很好。
如果有人可以指导我找到解决方案,我将非常感激!谢谢