Как принимать только то окно, которое открывает 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 в любой среде, это одна из настраиваемых функций в автоматизации.