Mac / Linux Файл загрузки Selenium на форуме XenForo с диалогом python - PullRequest
0 голосов
/ 02 марта 2020

Я пытаюсь автоматизировать загрузку файла на форуме XenForo, используя python и Selenium.

Кнопка загрузки может быть идентифицирована только по классу, но когда я отправляю путь к файлу, как показано ниже, вместо этого открывается вкладка поиска и к ней добавляется путь. Похоже, кнопка загрузки вызывает другой скрипт. upload.send_keys ("Path / tofile.txt")

HTML Код кнопки загрузки.

<a href="/index.php?attachments/upload&amp;type=post&amp;context[node_id]=75&amp;hash=d0e6e691eb0e1ef823adfb8e8905a542" class="button--link js-attachmentUpload button button--icon button--icon--attach" target="_blank" data-accept=".zip,.txt,.pdf,.png,.jpg,.jpeg,.jpe,.gif,.torrent"><span class="button-text">Attach files</span></a>

Python код.

    url = "somewebsite.com"
    options = Options()
    # options.headless = True
    driver = webdriver.Firefox(options=options, executable_path=gecko_driver)
    driver.get(url)

    #waiting for page to load
    sleep(5)

    #entering title
    title = driver.find_element_by_name("title")
    title.clear()
    title.send_keys("title")

    #entering description
    des = driver.find_element_by_class_name("fr-element.fr-view")
    des.clear()
    des.send_keys("description") 

    sleep(2)
    #attempting to upload
    test = driver.find_element_by_class_name("button--link.js-attachmentUpload.button.button--icon.button--icon--attach")
    print("button text = " + test.text)
    upload.send_keys("Path/tofile.txt")

элемент select правильный, как будто я печатаю текст элемента, он печатает текст на кнопке, и если я щелкаю по нему, появляется диалоговое окно для выбора файла для загрузки. Так что у меня определенно есть правильный элемент. Я пытался найти альтернативные способы загрузки, но, похоже, библиотеки, такие как "autoit", "pywinauto" и "win32com.client", не поддерживаются в Ma c или Linux.

Я делаю я не получаю никаких ошибок при отправке пути, как вы можете видеть из видео по этой ссылке, открывается диалоговое окно поиска и там указывается путь.

https://imgur.com/wXEhckl

Вывод на консоль

button text = Attach files

Process finished with exit code 0
...