Команды отладки (шаг) вызывают необработанные исключения

Попробуйте приведенный ниже код. Это должно сработать.

    driver = webdriver.Firefox()
    driver.get('https://www.accuform.com/safety-sign/danger-danger-authorized-personnel-only-MADM006')

    time.sleep(3)
    driver.find_element_by_id('x-mark-icon').click()

    material_dropdown = driver.find_element_by_xpath("//input[@class='select-dropdown']")
    driver.execute_script("arguments[0].click();", material_dropdown)

    #Code for material dropdown
    materials=driver.find_elements_by_css_selector("div.select-wrapper ul.dropdown-content li")


    material_optionsList = []
    for material in materials:
        material_ele=material.find_element_by_tag_name('span')
        if material_ele.text!='':
          material_optionsList.append(material_ele.text)

    print(material_optionsList)

    driver.execute_script("arguments[0].click();", material_dropdown)


    size_dropdown = driver.find_element_by_xpath("(//input[@class='select-dropdown'])[2]")
    driver.execute_script("arguments[0].click();", size_dropdown)

    #Code for size dropdown
    Sizes=driver.find_elements_by_css_selector("div.select-wrapper ul.dropdown-content li")
    size_optionsList = []
    for size in Sizes:
        size_ele=size.find_element_by_tag_name('span')
        if size_ele.text!='':
            size_optionsList.append(size_ele.text)



driver.execute_script("arguments[0].click();", size_dropdown)

Вывод:

[u'Adhesive Vinyl', u'Plastic', u'Adhesive Dura-Vinyl', u'Aluminum', u'Dura-Plastic\u2122', u'Aluma-Lite\u2122', u'Dura-Fiberglass\u2122', u'Accu-Shield\u2122']

Надеюсь, вы сделаете все остальное. Дайте мне знать, работает ли он для вас.

РЕДАКТИРОВАТЬ Код для циклического прохождения и получения значения цены материалов.

for material in range(len(materials)):
    material_ele=materials[material]

    if material_ele.text!='':
       #material_optionsList.append(material_ele.text)
       #material_ele.click()
       driver.execute_script("arguments[0].click();", material_ele)
       time.sleep(2)
       price = driver.find_element_by_id("priceDisplay")
       print( price.text)
       time.sleep(2)
       material_dropdown = driver.find_element_by_xpath("//input[@class='select-dropdown']")
       driver.execute_script("arguments[0].click();", material_dropdown)
       materials = driver.find_elements_by_css_selector("div.select-wrapper ul.dropdown-content li")
       material+=2

Вывод:

$8.31
$9.06
$13.22
$15.91
$15.91
6
задан moswald 5 June 2009 в 15:52
поделиться

4 ответа

Мос, мне интересно, разрешили ли вы эту проблему (поскольку у меня она также есть с VS2005 и VS2008 на 64-битной Win7)?

Изменить: В комментарии было предложено «Снять флажок Инструменты / Параметры / Отладка / Собственная / Включить отладку RPC», и, похоже, это ответ.

7
ответ дан 17 December 2019 в 00:14
поделиться

Получаете ли вы исключения в своем приложении или в самой Visual Studio?

Я бы начал с «Очистить» все решение, а затем снова «Построить». Иногда, если ваши двоичные файлы не синхронизированы, вы можете получить странное поведение при отладке.

0
ответ дан 17 December 2019 в 00:14
поделиться

Является ли ваше приложение многопоточным?

В случае, если это:

Вы уверены, что нарушение Access выдается потоком, который вы отлаживаете? Вы заморозили все остальные темы?

0
ответ дан 17 December 2019 в 00:14
поделиться

Если у вас есть вызовы функций в любом из окон наблюдения, удалите их.

0
ответ дан 17 December 2019 в 00:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: