Открыть ссылку в новой вкладке с помощью Splinter

Я использую Splinter для тестирования веб-страниц. Есть ли способ легко открыть ссылку в новой вкладке (что-то вроде link.middle_click())?

2 ответа

Вот ссылка на процедуру, чтобы обойти проблему с селеном:
https://gist.github.com/lrhache/7686903

Для того, что я могу найти это не может "легко" сделать. Я передам вам следующие вопросы, в которых изложены некоторые обходные пути, но нет простого решения.
- WebDriver открыть новую вкладку
Открыть новое окно или вкладку в веб-драйвере (Python)?

Это открывает новую вкладку

из селена импорт вебдрайвер

browser.driver.execute_script("window.open('');")

Затем вы можете переключаться между tabe и делать то, что вы хотите, используя:

http://splinter.readthedocs.io/en/latest/browser.html

Комбинация 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] 
Другие вопросы по тегам