2017-02-06 11 views
0

Есть две среды: одна из моих локальных с Firefox 47 & Selenium 2.0, другая удаленная vm с Firefox 50 & Selenium 3. С тем же кодом ниже, выход отличается (более новый версия не имеет iframe для переключения с). Является ли мой код проблемой или возникают проблемы совместимости с более новой версией?Проблема с совместимостью Selenium 3 с FireFox 50? Невозможно получить iframe

switchToLatestWindow (self.browser) работал на обоих, так как я проверил current_window_handle

switchToLatestWindow(self.browser) 
    time.sleep(3) 

    logger.info("===============================================================================================") 
    logger.info(self.browser.current_window_handle) 
    logger.info(self.browser.find_elements_by_tag_name('iframe')) 
    self.browser.switch_to_frame("WorkAreaFrame1popup") 
    logger.info("***********************************************************") 
    logger.info(self.browser.find_elements_by_tag_name('iframe')) 

    # enter firstName and lastName 
    result = self.enterFirstName(firstName) and self.enterLastName(lastName) 
    if not result: 
     return False 
    # switch to new windowssss 
    logger.info(self.browser.find_elements_by_tag_name('iframe')) 
    switchToLatestWindow(self.browser) 

    logger.info(self.browser.find_elements_by_tag_name('iframe')) 
    time.sleep(3) 
    logger.info("++++++++++++++++++++++++++++++++++++++++++++++++++") 
    logger.info(self.browser.current_window_handle) 
    logger.info(self.browser.find_elements_by_tag_name('iframe')) 
    self.browser.switch_to_frame("WorkAreaFrame1popup") 
    logger.info("------------------------------------------------------------------") 

    time.sleep(2) 
    return result 

Здесь находятся выходы Старая версия:

INFO:2017-02-06 12:12:49,615; TCID_4196; createClientProspect.py:1119; =============================================================================================== 
INFO:2017-02-06 12:12:49,627; TCID_4196; createClientProspect.py:1120; {e0bbf87b-890d-4b4f-91f9-7c85cb4ac736} 
INFO:2017-02-06 12:12:49,635; TCID_4196; createClientProspect.py:1121; [<selenium.webdriver.remote.webelement.WebElement (session="60a21376-7577-4c81-ae79-1233564c227a", element="{23eabe2b-9e57-4319-97d2-d7959f302391}")>, <selenium.webdriver.remote.webelement.WebElement (session="60a21376-7577-4c81-ae79-1233564c227a", element="{db69ec0c-58ba-41ba-b1a9-dd4b1feec08a}")>] 
INFO:2017-02-06 12:12:49,644; TCID_4196; createClientProspect.py:1123; *********************************************************** 
INFO:2017-02-06 12:12:49,653; TCID_4196; createClientProspect.py:1124; [] 
INFO:2017-02-06 12:12:49,654; TCID_4196; common_utils.py:339; Randomly generated name:Cagmysp 
INFO:2017-02-06 12:12:49,654; TCID_4196; api.py:58; Entering 'Cagmysp' on object named First Name on page New Profile 
INFO:2017-02-06 12:12:49,654; TCID_4196; api.py:114; Inject Args: input[id$='builheader_struct.firstname'] to input[id$='builheader_struct.firstname'] 
INFO:2017-02-06 12:12:50,746; TCID_4196; api.py:142; Successfully interacted with object First Name 
INFO:2017-02-06 12:12:50,746; TCID_4196; actionBase.py:103; [PASS] Successfully Entered First Name: Cagmysp 
INFO:2017-02-06 12:12:50,746; TCID_4196; common_utils.py:339; Randomly generated name:Bnzpnkbjst 
INFO:2017-02-06 12:12:50,746; TCID_4196; api.py:58; Entering 'Bnzpnkbjst' on object named Last Name on page New Profile 
INFO:2017-02-06 12:12:50,746; TCID_4196; api.py:114; Inject Args: input[id$='builheader_struct.lastname'] to input[id$='builheader_struct.lastname'] 
INFO:2017-02-06 12:12:51,872; TCID_4196; api.py:142; Successfully interacted with object Last Name 
INFO:2017-02-06 12:12:51,872; TCID_4196; actionBase.py:103; [PASS] Successfully Entered Client Last Name: Bnzpnkbjst 
INFO:2017-02-06 12:12:51,881; TCID_4196; createClientProspect.py:1131; [] 
INFO:2017-02-06 12:12:51,890; TCID_4196; common_utils.py:188; Number of window handles: 2 
INFO:2017-02-06 12:12:51,890; TCID_4196; common_utils.py:189; Number of window handles: [u'{3f63d3c1-642f-4e8d-a77b-2136711f94c3}', u'{e0bbf87b-890d-4b4f-91f9-7c85cb4ac736}'] 
INFO:2017-02-06 12:12:51,894; TCID_4196; common_utils.py:192; Number of window handles: 2 
INFO:2017-02-06 12:12:51,894; TCID_4196; common_utils.py:193; Number of window handles: [u'{3f63d3c1-642f-4e8d-a77b-2136711f94c3}', u'{e0bbf87b-890d-4b4f-91f9-7c85cb4ac736}'] 
INFO:2017-02-06 12:12:51,910; TCID_4196; createClientProspect.py:1134; [<selenium.webdriver.remote.webelement.WebElement (session="60a21376-7577-4c81-ae79-1233564c227a", element="{23eabe2b-9e57-4319-97d2-d7959f302391}")>, <selenium.webdriver.remote.webelement.WebElement (session="60a21376-7577-4c81-ae79-1233564c227a", element="{db69ec0c-58ba-41ba-b1a9-dd4b1feec08a}")>] 
INFO:2017-02-06 12:12:59,910; TCID_4196; createClientProspect.py:1136; ++++++++++++++++++++++++++++++++++++++++++++++++++ 
INFO:2017-02-06 12:12:59,920; TCID_4196; createClientProspect.py:1137; {e0bbf87b-890d-4b4f-91f9-7c85cb4ac736} 
INFO:2017-02-06 12:12:59,927; TCID_4196; createClientProspect.py:1138; [<selenium.webdriver.remote.webelement.WebElement (session="60a21376-7577-4c81-ae79-1233564c227a", element="{23eabe2b-9e57-4319-97d2-d7959f302391}")>, <selenium.webdriver.remote.webelement.WebElement (session="60a21376-7577-4c81-ae79-1233564c227a", element="{db69ec0c-58ba-41ba-b1a9-dd4b1feec08a}")>] 
INFO:2017-02-06 12:12:59,936; TCID_4196; createClientProspect.py:1140; ------------------------------------------------------------------ 

Вот выход новой версии:

INFO:2017-02-06 12:17:54,739; TCID_4196; common_utils.py:193; Number of window handles: [u'2147483651', u'2147483678'] 
INFO:2017-02-06 12:17:57,759; TCID_4196; createClientProspect.py:1119; =============================================================================================== 
INFO:2017-02-06 12:17:57,767; TCID_4196; createClientProspect.py:1120; 2147483678 
INFO:2017-02-06 12:17:57,782; TCID_4196; createClientProspect.py:1121; [<selenium.webdriver.firefox.webelement.FirefoxWebElement (session="4079af6b-dda2-4949-95c6-8aa9ff29c49e", element="89bfc3a1-5749-42d4-b0db-da1fc43a0f35")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="4079af6b-dda2-4949-95c6-8aa9ff29c49e", element="3483f682-490c-4c16-8055-fb6c0ee99ad0")>] 
INFO:2017-02-06 12:17:57,809; TCID_4196; createClientProspect.py:1123; *********************************************************** 
INFO:2017-02-06 12:17:57,821; TCID_4196; createClientProspect.py:1124; [] 
INFO:2017-02-06 12:17:57,821; TCID_4196; common_utils.py:339; Randomly generated name:Odkdzgvbi 
INFO:2017-02-06 12:17:57,821; TCID_4196; api.py:58; Entering 'Odkdzgvbi' on object named First Name on page New Profile 
INFO:2017-02-06 12:17:57,822; TCID_4196; api.py:114; Inject Args: input[id$='builheader_struct.firstname'] to input[id$='builheader_struct.firstname'] 
INFO:2017-02-06 12:17:58,928; TCID_4196; api.py:142; Successfully interacted with object First Name 
INFO:2017-02-06 12:17:58,928; TCID_4196; actionBase.py:103; [PASS] Successfully Entered First Name: Odkdzgvbi 
INFO:2017-02-06 12:17:58,930; TCID_4196; common_utils.py:339; Randomly generated name:Arrtxwyjs 
INFO:2017-02-06 12:17:58,930; TCID_4196; api.py:58; Entering 'Arrtxwyjs' on object named Last Name on page New Profile 
INFO:2017-02-06 12:17:58,930; TCID_4196; api.py:114; Inject Args: input[id$='builheader_struct.lastname'] to input[id$='builheader_struct.lastname'] 
INFO:2017-02-06 12:18:00,101; TCID_4196; api.py:142; Successfully interacted with object Last Name 
INFO:2017-02-06 12:18:00,101; TCID_4196; actionBase.py:103; [PASS] Successfully Entered Client Last Name: Arrtxwyjs 
INFO:2017-02-06 12:18:00,127; TCID_4196; createClientProspect.py:1131; [] 
INFO:2017-02-06 12:18:00,138; TCID_4196; common_utils.py:188; Number of window handles: 2 
INFO:2017-02-06 12:18:00,138; TCID_4196; common_utils.py:189; Number of window handles: [u'2147483651', u'2147483678'] 
INFO:2017-02-06 12:18:00,148; TCID_4196; common_utils.py:192; Number of window handles: 2 
INFO:2017-02-06 12:18:00,148; TCID_4196; common_utils.py:193; Number of window handles: [u'2147483651', u'2147483678'] 
INFO:2017-02-06 12:18:00,176; TCID_4196; createClientProspect.py:1134; [] 
INFO:2017-02-06 12:18:08,177; TCID_4196; createClientProspect.py:1136; ++++++++++++++++++++++++++++++++++++++++++++++++++ 
INFO:2017-02-06 12:18:08,184; TCID_4196; createClientProspect.py:1137; 2147483678 
INFO:2017-02-06 12:18:08,206; TCID_4196; createClientProspect.py:1138; [] 
INFO:2017-02-06 12:18:08,236; TCID_4196; actionBase.py:103; [FAIL] Failed to create a new Client Prospect 
INFO:2017-02-06 12:18:08,236; TCID_4196; actionBase.py:114; Taking a snapshot with filename = screen10319120170206121808.jpg 
INFO:2017-02-06 12:18:08,276; TCID_4196; createClientProspect.py:949; Traceback (most recent call last): 
    File "C:\ProgramData\sift_client_selenium\developer\createClientProspect.py", line 931, in createNewClientProspect 
    result = self.launchNewProfileWindowFirstNameLastName(firstName,lastName) and self.enterProspectDetails() \ 
    File "C:\ProgramData\sift_client_selenium\developer\createClientProspect.py", line 1139, in launchNewProfileWindowFirstNameLastName 
    self.browser.switch_to_frame("WorkAreaFrame1popup") 
    File "c:\python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 574, in switch_to_frame 
    self._switch_to.frame(frame_reference) 
    File "c:\python27\lib\site-packages\selenium\webdriver\remote\switch_to.py", line 85, in frame 
    raise NoSuchFrameException(frame_reference) 
NoSuchFrameException: Message: WorkAreaFrame1popup 

ответ

1

Это не должно быть проблемой.

Если эта версия Firefox не отображает iframe, тогда вам не нужно переключаться, просто добавьте условие if и переключитесь, если найдено iframe, иначе ничего не делать.