Перейти к содержимому

Nikola

Регистрация: 03 ноя 2016
Offline Активность: 01 дек 2016 13:08
-----

Мои темы

Эмуляция нажатия клавиш варианты

15 ноября 2016 - 13:41

Привет. Подскажите, как эмулировать нажатие клавиш ?

 

Есть варианты:

1. driver.find_element_by_id(123).send_keys("123")

2. driver.find_element_by_id(123).send_keys(Keys.SHIFT + 'w')
не нашел таблицу, где можно просто послать букву например Keys.W например



Все эти варианты мне не подходят, они не 100% эмулируют нажатия.

Есть ли еще варианты ? 

У меня цель послать эмуляцию нажатия каждой клавиши. например послать текст "Привет"


Работа с DOM

11 ноября 2016 - 11:18

Добрый день. 2-3 недели назад начал заниматься автоматизацией,

Python 3.4 + PyCharm + Webdriver selenium + chrome

 

Стал вопрос. По прочтению и вытаскиванию данных из DOM,

У меня есть поле с данным текстом, который тянется из бд.

Прикрепленный файл  2016-11-11_14h13_30.png   3,32К   0 Количество загрузок:

 

Нашел его в DOM

Прикрепленный файл  2016-11-11_14h14_19.png   2,02К   0 Количество загрузок:

 

Собственно вопрос, как теперь из дум вытащить эти данные в переменную.

 

Нашел вроде мануал http://internetka.in...-normalization/

Но у меня что то не заработало.

System.out.println("getAttribute(\"href\"): " + 
                            slider.getAttribute("href"));

при попытке вставить такой под. System и slider подчеркиваются красным, и я не очень понял что делать. Импорта Систем я не нашел.

Подскажите в чем дело ?


Selenium + Python поиск элемента методом verifyElementPresent

08 ноября 2016 - 14:41

Привет.  Сразу к делу меньше пыли  :victory:

 

Цель: Подтвердить наличие элемента на странице.

 

1. Есть картинка, которая говорит что, что-то плохо. Появляется после события, есть 2 вида. Все плохо(красная), все хорошо(зеленая).

Пример плохой кнопки:

Прикрепленный файл  2016-11-08_17h31_43.png   1,06К   0 Количество загрузок:

 

2. Найти на странице данный элемент, и ничего с ним не делать. Только найти. Понять что он есть. Записать в лог что кнопка есть, и пойти дальше.

 

Я сделал так, судя по отрывистым хелпам в инете :)

from selenium import webdriver
driver = webdriver.Chrome()

driver.verifyElementPresent("//i[@class='glyphicon glyphicon-remove-circle client_fail ng-scope']")

Судя по хелпам, например http://automated-tes...ium-ide-rc/2440

То вроде как элемент должен быть найден, что дальше не понятно. Видимо возвращен 0 или true.

 

Но чет не ищет ) пишет ошибку: 

AttributeError: 'WebDriver' object has no attribute 'verifyElementPresent'

Буду рад помощи. Где я тупанул ))


Селениум, загрузка файла через кнопку "Загрузить"

03 ноября 2016 - 12:32

Привет. У меня такая проблема.

 

Есть форма. Где есть кнопка "Загрузить файл", при нажатии на кнопку, открывается стандартное Виндовое окно, где нужно выбрать файл, нажать Открыть. После файл подгружается.

 

Смотрел много тем в интернете. Нашел такие варианты:

Пишу уже со своими данными.

 

Был такой вариант: 

driver.findElement(By.id("photo")).sendKeys("Z:\\SeleniumExamples\\src\\test\\resources\\photo.png");
Я переделал под себя
 

 1. 

driver.find_element_by_xpath("//button[@ngf-select='uploadStatementScan($file, itm.data)']").sendFile("C:\\RobotDoc\\asd.pdf")

или  еще вариант

  . driver.find_element_by_xpath("//button[@ngf-select='uploadStatementScan($file, itm.data)']").sendFile("C:/RobotDoc/asd.pdf")

2 вариант.

 

# подключаем необходимые модули
from selenium import webdriver
import os


# создаём объект WebDriver для браузера chrome
driver = webdriver.Chrome()


# открываем страницу с формой загрузки файла
driver.get("file://" + os.getcwd() + "/index.html")


# находим элемент <input type="file">
element = driver.find_element_by_id("file")


# заполняем элемент путём до загружаемого файла
element.send_keys(os.getcwd() + "/lenna.png")


# находим элемент <input type="file">
element = driver.find_element_by_id("submit")
 
Но он так же не сработал. При этом я не понял что за штука driver.get("file://" + os.getcwd() + "/index.html")  и зачем она нужна.
 
Собственно вопрос. Как это сделать ?