Открыть ссылку в новой вкладке с помощью Splinter
Я использую Splinter для тестирования веб-страниц. Есть ли способ легко открыть ссылку в новой вкладке (что-то вроде link.middle_click()
)?
2 ответа
Вот ссылка на процедуру, чтобы обойти проблему с селеном:
https://gist.github.com/lrhache/7686903
Для того, что я могу найти это не может "легко" сделать. Я передам вам следующие вопросы, в которых изложены некоторые обходные пути, но нет простого решения.
- WebDriver открыть новую вкладку
Открыть новое окно или вкладку в веб-драйвере (Python)?
Это открывает новую вкладку
из селена импорт вебдрайвер
browser.driver.execute_script("window.open('');")
Затем вы можете переключаться между tabe и делать то, что вы хотите, используя:
Комбинация HTML и Python/Splinter
Сначала создайте html-файл со ссылками, которые вы хотите открывать в новых вкладках (например, links.html).
<!DOCTYPE html>
<html>
<body>
<h2>Links</h2>
<a target="_blank" rel="noopener noreferrer" href="https://www.google.com">google</a>
<a target="_blank" rel="noopener noreferrer" href="https://www.youtube.com">youtube</a>
<a target="_blank" rel="noopener noreferrer" ref="https://www.facebook.com">facebook</a>
</body>
</html>
Во-вторых, откройте предыдущий HTML-файл и вызовите ссылки с помощью python/splinter.
from splinter import Browser
browser = Browser('chrome')
browser.driver.maximize_window()
browser.visit('c:\\links.html')
elements = browser.find_by_tag("a")
for element in elements:
element.click()
browser.windows.current = browser.windows[0]