Как принимать только то окно, которое открывает selenium? (Django)

У меня есть функция представления Django:

def bypass_link(request, pk=None):
    instance = fields.objects.get(pk=pk)
    link = instance.quote
    options = webdriver.ChromeOptions()
    driver = webdriver.Chrome(ChromeDriverManager().install(), options=options)

    driver.get(link)
    driver.find_element_by_id("butAgree").click()
    return redirect(link)

template:

<td data-label="Quote">
    <a href="{% url 'bypass_link' i.id %}" target="_blank">{{ i.link }}</a>
</td>

urls.py

from django.conf.urls import url 

url(r'^bypass_link/(?P<pk>\d+)/$', views.bypass_link, name="bypass_link"),

При нажатии на гиперссылку открываются две ссылки. Когда я удаляю return redirect(link), на странице появляется ошибка, но окно selenium работает нормально.

Я просто хочу открывать окно selenium при нажатии на гиперссылку.

Безголовое программное обеспечение (например, "безголовая Java" или "безголовый Linux",) - это программное обеспечение, способное работать на устройстве без графического интерфейса пользователя. ... Термин "безголовый" чаще всего используется, когда обычная версия программы требует наличия видеокарты или аналогичного устройства графического интерфейса

https://en.wikipedia.org/wiki/Headless_software

Если под "производством" вы подразумеваете удаленный сервер, например VPS или что-то еще, то, вероятно, нет, вы не можете запустить графический веб-браузер на сервере, он должен быть безголовым.

Решение Проверьте, сохраняется ли проблема для всех ссылок, дайте простую ссылку, например google.com иногда проблема может сохраняться для сайтов с

  • Некачественные сертификаты можно решить с помощью --ignore-certificate-errors
  • Самоподписанный сертификат может быть решен с помощью --enable-features=NetworkService

В качестве альтернативы вы можете не использовать безголовый браузер в производстве и использовать browserstack или saucelabs. Облачная платформа непрерывного тестирования, наиболее идеальная для кроссбраузерного и кроссплатформенного тестирования

Вы можете использовать режим selenium headless в любой среде, это одна из настраиваемых функций в автоматизации.

Вернуться на верх