Мне нужно протестировать два веб-сайта, используя selenium webdriver на python. Моя цель - сделать и сохранить изменения на одном веб-сайте, а затем посмотреть, изменился ли другой веб-сайт соответствующим образом. Я хочу внести изменения, а затем переключиться в другое окно с другим сайтом, а затем обратно и вперед несколько раз. Является ли это возможным? Спасибо!Сравнение двух сайтов в двух окнах с использованием selenium webdriver и python
ответ
Вы можете открыть новое окно, driver.execute_script("window.open('');")
, а затем переключиться на него driver.switch_to.window(driver.window_handles[1])
, то вы можете ездить. Если вы хотите вернуться в первое окно driver.switch_to.window(driver.window_handles[0])
.
>>> driver.window_handles
[u'{7355ca99-910b-554d-8478-f8a550e0c767}']
>>> driver.execute_script("window.open('');")
>>> driver.window_handles
[u'{7355ca99-910b-554d-8478-f8a550e0c767}', u'{5a0824a9-9d55-0841-87b8-35a26d4a8b83}']
>>> driver.switch_to.window(driver.window_handles[1])
>>> driver.get("http://www.google.com")
>>> driver.switch_to.window(driver.window_handles[0])
>>> driver.get("http://www.yahoo.com")
спасибо! это помогло много :) –
@JanGalik приветствует. Надежда upvote :) –
Возможно, просто переключайтесь между окнами, используя правильные команды в selenium webdriver.
Если вы хотите сравнить графические элементы, это действительно хорошая идея, чтобы автоматизировать его.
Для как перемещаться между окнами смотрите здесь http://selenium-python.readthedocs.org/en/latest/navigating.html
Что вы пытались и что было результатом? Как вы это делали в школе ... пожалуйста, покажите свою работу. :) Это часть процесса получения ответов на SO. Это полезно для вас, потому что это заставляет вас исследовать вашу собственную проблему и продумать ее. Это также доказывает читателям, что вы сделали домашнее задание и предприняли разумную попытку ответить на собственный вопрос. В-третьих, это помогает читателям находить и диагностировать проблему, что дает лучший ответ для вас и меньше времени, потраченного на нас. – JeffC
@JeffC Человек попросил логику выполнить свою задачу. Я не уверен, что вы ожидаете от него. – LINGS
@LINGS Я ожидаю, что каждый, кто задаст вопрос о SO, сделает домашнее задание. Они должны потратить некоторое время на поиски ответа на свой вопрос и попробовать что-нибудь, что угодно. SO не является услугой кодирования, в которой люди задают вопросы, и мы предоставляем код. Если вы прочитаете [Как задать хороший вопрос] (http://stackoverflow.com/help/how-to-ask), вы увидите эти принципы. Я видел вопросы о SO, касающиеся переключения между окнами. Они должны начать там и написать базовый код и продолжать добавлять его до тех пор, пока они не застрянут. Они публикуют свой код и задают хороший вопрос. – JeffC