मैं कुछ बुनियादी कार्यों को करने के लिए पायथन में सेलेनियम वेबड्राइवर स्क्रिप्ट चलाने की कोशिश कर रहा हूं। मैं सेलेनियम आईडीई पूर्णांक के माध्यम से इसे चलाने के दौरान रोबोट को पूरी तरह से काम करने के लिए प्राप्त कर सकता हूं (यानी: जब बस अपने कार्यों को दोहराने के लिए जीयूआई मिल रहा है)। हालाँकि जब मैं कोड को पायथन स्क्रिप्ट के रूप में निर्यात करता हूं और कमांड लाइन से इसे निष्पादित करने का प्रयास करता हूं, तो फ़ायरफ़ॉक्स ब्राउज़र खुल जाएगा लेकिन कभी भी आरंभिक URL तक नहीं पहुंच सकता (कमांड लाइन में एक त्रुटि वापस आ जाती है और प्रोग्राम बंद हो जाता है)। यह मुझे इस बात की परवाह किए बिना हो रहा है कि मैं किस वेबसाइट आदि का उपयोग करने की कोशिश कर रहा हूं।
मैंने प्रदर्शन उद्देश्यों के लिए एक बहुत ही बुनियादी कोड को यहाँ शामिल किया है। मुझे नहीं लगता कि मैंने कोड के प्रॉक्सी सेक्शन को सही तरीके से शामिल किया है क्योंकि वापस की जा रही त्रुटि प्रॉक्सी द्वारा उत्पन्न होती है।
किसी भी सहायता की बेहद सराहना की जाएगी।
नीचे दिया गया कोड केवल www.google.ie को खोलने और "सेलेनियम" शब्द को खोजने के लिए है। मेरे लिए यह एक खाली फ़ायरफ़ॉक्स ब्राउज़र खोलता है और बंद हो जाता है।
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
import unittest, time, re
from selenium.webdriver.common.proxy import *
class Testrobot2(unittest.TestCase):
def setUp(self):
myProxy = "http://149.215.113.110:70"
proxy = Proxy({
'proxyType': ProxyType.MANUAL,
'httpProxy': myProxy,
'ftpProxy': myProxy,
'sslProxy': myProxy,
'noProxy':''})
self.driver = webdriver.Firefox(proxy=proxy)
self.driver.implicitly_wait(30)
self.base_url = "https://www.google.ie/"
self.verificationErrors = []
self.accept_next_alert = True
def test_robot2(self):
driver = self.driver
driver.get(self.base_url + "/#gs_rn=17&gs_ri=psy-ab&suggest=p&cp=6&gs_id=ix&xhr=t&q=selenium&es_nrs=true&pf=p&output=search&sclient=psy-ab&oq=seleni&gs_l=&pbx=1&bav=on.2,or.r_qf.&bvm=bv.47883778,d.ZGU&fp=7c0d9024de9ac6ab&biw=592&bih=665")
driver.find_element_by_id("gbqfq").clear()
driver.find_element_by_id("gbqfq").send_keys("selenium")
def is_element_present(self, how, what):
try: self.driver.find_element(by=how, value=what)
except NoSuchElementException, e: return False
return True
def is_alert_present(self):
try: self.driver.switch_to_alert()
except NoAlertPresentException, e: return False
return True
def close_alert_and_get_its_text(self):
try:
alert = self.driver.switch_to_alert()
alert_text = alert.text
if self.accept_next_alert:
alert.accept()
else:
alert.dismiss()
return alert_text
finally: self.accept_next_alert = True
def tearDown(self):
self.driver.quit()
self.assertEqual([], self.verificationErrors)
if __name__ == "__main__":
unittest.main()