के साथ काम नहीं करता है, मैंने फ़ायरफ़ॉक्स में कुछ स्रोत कोड संशोधन किए हैं और इसे स्वयं बनाते हैं। परीक्षण स्वचालित करने के लिए, मैंने सेलेनियम का उपयोग करने का विकल्प चुना लेकिन दुर्भाग्य से, मेरा नया निर्मित फ़ायरफ़ॉक्स सेलेनियम का समर्थन नहीं करता है।फ़ायरफ़ॉक्स बिल्ड मेरे शोध के लिए सेलेनियम
मैं निम्नलिखित किया:
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
binary = FirefoxBinary("/path/to/firefox/binary")
d = webdriver.Firefox(firefox_binary=binary)
d.get("http://www.google.de")
Firefox मुक्त करता है और उत्तरदायी है (मैं खोज पट्टी में वेबसाइट दर्ज कर सकते हैं)। लेकिन कुछ समय के बाद, अजगर स्क्रिप्ट निम्नलिखित त्रुटि संदेश के साथ दुर्घटनाओं:
Traceback (most recent call last):
File "firefox.py", line 7, in <module>
d = webdriver.Firefox(firefox_binary=binary)
File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/firefox/webdriver.py", line 59, in __init__
self.binary, timeout),
File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/firefox/extension_connection.py", line 47, in __init__
self.binary.launch_browser(self.profile)
File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/firefox/firefox_binary.py", line 66, in launch_browser
self._wait_until_connectable()
File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/firefox/firefox_binary.py", line 109, in _wait_until_connectable
raise WebDriverException("Can't load the profile. Profile "
selenium.common.exceptions.WebDriverException: Message: Can't load the profile. Profile Dir: %s If you specified a log_file in the FirefoxBinary constructor, check it for details.
मुझे लगता है कि त्रुटि संदेश गूगल किया था और सबसे समाधान का सुझाव दिया, कि मैं के बाद से यह प्रयोग किया जाता Firefox संस्करण का समर्थन नहीं करता सेलेनियम अद्यतन करना चाहिए। दुर्भाग्यवश, मैंने सेलेनियम (2.44.0) का नवीनतम संस्करण स्थापित किया और मैंने उस बिंदु को रद्द करने के लिए फ़ायरफ़ॉक्स (संस्करण 33) का एक पुराना संस्करण भी उपयोग किया।
मैंने यह भी सुनिश्चित किया कि मेरे कोड संशोधनों का कारण स्वच्छ, अनमोडिफाइड फ़ायरफ़ॉक्स के निर्माण से दुर्घटनाग्रस्त होने का कारण नहीं है। सेलेनियम या तो इस फ़ायरफ़ॉक्स के साथ काम नहीं करता है।
यदि मैं फ़ायरफ़ॉक्स बाइनरी निर्दिष्ट नहीं करता हूं और सेलेनियम स्थापित फ़ायरफ़ॉक्स का उपयोग करने देता हूं, तो सब कुछ ठीक काम करता है। तो मेरा अनुमान है कि फ़ायरफ़ॉक्स बिल्ड के साथ कुछ गड़बड़ है, जिसे मैंने ऑनलाइन दस्तावेज (उदा ./mach बिल्ड) में बिल्कुल बताया है।
क्या किसी को कोई विचार है, मेरी गलती क्या हो सकती है? कोई भी मदद बहुत ही सराहनीय होगी!
कुछ सेटअप जानकारी:
- फ़ायरफ़ॉक्स 33
- सेलेनियम 2.44.0
- अजगर 3.4 (भी करने की कोशिश की 2.7, या तो काम नहीं करता है)
- फ़ायरफ़ॉक्स Ubuntu 14.04 के साथ
यह एक छिटपुट मुद्दे या संगत है? मैं इसे भी देख रहा हूं, लेकिन केवल कभी-कभी (एफएफ 34, सेलेनियम 2.44.0, पायथन 2.7, उबंटू 12.04)। मुझे यह अजीब लगता है कि यह आपके मध्य-स्क्रिप्ट के साथ हो रहा है। ध्यान दें कि डिफ़ॉल्ट प्रोफ़ाइल/tmp निर्देशिका में सहेजी जाती है जबतक कि आप कोई नया निर्दिष्ट नहीं करते हैं, इसलिए सुनिश्चित करें कि आपके पास कोई स्क्रिप्ट या कुछ भी नहीं है जो प्रोफ़ाइल को हटा सकता है। – Justin