Перейти к содержимому

Фотография

Не могу найти элемент


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 Namik

Namik

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 11 августа 2021 - 20:28

Ребята, только начал заниматься селениумом.

 

Значит так, дохожу до момента где надо кликнуть ' Accounts Receivable', а селениум его не находит.Перепробывал все методы + 

Implicit Wait , Explicit Wait. Если использую wait то возвращает "Message:       ". Как вы видите просто меседж без какой либо инфы, а если без WAIT то возвращает что такого элемента нет. 

 

 

 

 

try:
    driver.get(url_ngbss)
    print('base URL reached')
    login_input = driver.find_element_by_id('username')
    print('element found')
    login_input.click()
    login_input.clear()
    login_input.send_keys(ngbss_login)
    password_input = driver.find_element_by_id('password')
    password_input.click()
    password_input.clear()
    password_input.send_keys(ngbss_password)
    submit_button = driver.find_element_by_id('submitBtn')
    submit_button.click()
    driver.implicitly_wait(30)
    site_map = driver.find_element_by_xpath("//div[@id='sitemap']/div").click()
    driver.implicitly_wait(30)
    wait = WebDriverWait(driver,20)
    #accounts_receivable = driver.find_element_by_link_text('Accounts Receivable')
    #accounts_receivable = wait.until(EC.visibility_of_element_located((By.XPATH,"//div[@title = 'Accounts Receivable']")))
    #accounts_receivable = wait.until(EC.presence_of_all_elements_located((By.XPATH,"//li[@itemid='c_302']")))
    #accounts_receivable = driver.find_elements_by_class_name('body2')
    #accounts_receivable = driver.find_element_by_css_selector('div.body2').click()
    #accounts_receivable = Select(driver.find_element_by_xpath("/html/body/div[1]/div[1]").select_by_visible_text('Accounts Receivable'))
    #accounts_receivable = wait.until(EC.presence_of_element_located((By.XPATH,"//div[@id='catalog']/ul/li[4]/div[2]/div")))
    accounts_receivable = driver.find_element_by_xpath("//div[@id='catalog']/ul/li[4]/div[2]/div")
    accounts_receivable.click()

    time.sleep(5)
    
except Exception as ex:
    print(ex)
finally:
    driver.close()
    driver.quit()

 

 

 

 

 

 

 

Прикрепленные файлы

  • Прикрепленный файл  Capture.PNG   28,95К   0 Количество загрузок:

  • 0

#2 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 11 августа 2021 - 21:42

Фреймы есть на странице? Что там выше боди? Сначала во фрейм надо переключиться.


  • 0

#3 Namik

Namik

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 12 августа 2021 - 07:51

Фреймы есть на странице? Что там выше боди? Сначала во фрейм надо переключиться.

Есть, вроде этого

 

<iframe id="AID_1628754204923_iframe" name="AID_1628754204923_iframe" src="theme/default/jsp/usm/sitemap.jsp?beId=101&amp;CrmTabName=Site Map&amp;CRMTimestamp=1628754204923" onload="jBME.Tab.cleanBackgroundImage(this);" class="bc_tabitem_iframe" frameborder="0" scrolling="auto" style="background-image: none;"></iframe>


  • 0

#4 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 12 августа 2021 - 08:20

 

Фреймы есть на странице? Что там выше боди? Сначала во фрейм надо переключиться.

Есть, вроде этого

 

<iframe id="AID_1628754204923_iframe" name="AID_1628754204923_iframe" src="theme/default/jsp/usm/sitemap.jsp?beId=101&amp;CrmTabName=Site Map&amp;CRMTimestamp=1628754204923" onload="jBME.Tab.cleanBackgroundImage(this);" class="bc_tabitem_iframe" frameborder="0" scrolling="auto" style="background-image: none;"></iframe>

 

 

Ну так переключайтесь на фрейм, а потом кликайте


  • 0

#5 Namik

Namik

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 12 августа 2021 - 09:02

 

 

Фреймы есть на странице? Что там выше боди? Сначала во фрейм надо переключиться.

Есть, вроде этого

 

<iframe id="AID_1628754204923_iframe" name="AID_1628754204923_iframe" src="theme/default/jsp/usm/sitemap.jsp?beId=101&amp;CrmTabName=Site Map&amp;CRMTimestamp=1628754204923" onload="jBME.Tab.cleanBackgroundImage(this);" class="bc_tabitem_iframe" frameborder="0" scrolling="auto" style="background-image: none;"></iframe>

 

 

Ну так переключайтесь на фрейм, а потом кликайте

Тут два фрейма:

 

 

сверху 

 

<iframe id="home_iframe" name="home_iframe" src="/view.action?view=theme/default/jsp/../../../upc_common/page/upc_workspace.jsp" class="bc_tabitem_iframe bc_tabitem_framework" frameborder="0" scrolling="auto" style="background-image: none;"></iframe>

 

Ниже:

 

<iframe id="AID_1628710665208_iframe" name="AID_1628710665208_iframe" src="theme/default/jsp/usm/sitemap.jsp?beId=101&amp;CrmTabName=Site%20Map&amp;CRMTimestamp=1628710665208" class="bc_tabitem_iframe bc_tabitem_framework" frameborder="0" scrolling="auto" style="background-image: none;"></iframe>

 

 iframe = driver.find_element_by_xpath("//iframe[@name='home_iframe']")
    driver.switch_to.frame("iframe")
    accounts_receivable = driver.find_element_by_xpath("//li[@title = 'Accounts Receivable']")
    accounts_receivable.click()
    

 

 

Выдается :

 

Message : iframe

 

А если искать по второму фрейму то не находит.


  • 0

#6 Namik

Namik

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 12 августа 2021 - 20:17

Все решилось переключением на фрейм. Не находил потому что название было динамичным. Спасибо всем большое!


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных