Tag: selenium

Как я могу получить html-контент, написанный JavaScript с помощью Selenium / Python

Я делаю веб-обход с Selenium, и я хочу получить элемент (например, ссылку), написанный JavaScript после того, как Selenium симулирует щелчок по поддельной ссылке. Я попробовал get_html_source (), но он не включает контент, написанный JavaScript. Код, который я написал: def test_comment_url_fetch(self): sel = self.selenium sel.open("/rmrb") url = sel.get_location() #print url if url.startswith('http://login'): sel.open("/rmrb") i = 1 […]

Как обрабатывать элементы внутри Shadow-root

Я хочу автоматизировать проверку завершения загрузки файлов в chromedriver . HTML каждой записи в списке загрузок выглядит так: <a is="action-link" id="file-link" tabindex="0" role="link" href="http://fileSource" class="">DownloadedFile#1</a> Поэтому я использую следующий код для поиска целевых элементов: driver.get('chrome://downloads/') # This page should be available for everyone who use Chrome browser driver.find_elements_by_tag_name('a') Это возвращает пустой список, когда есть 3 […]

Firefox + Selenium WebDriver и автоматически загружайте файл csv

У меня проблема с Selenium WebDriver и Firefox. Я хочу загрузить файл csv без подтверждения в диалоговом окне, и у меня есть такой код: fp = webdriver.FirefoxProfile() fp.set_preference("browser.download.folderList",2) fp.set_preference("browser.download.dir", download_dir) fp.set_preference("browser.download.manager.showWhenStarting",False) fp.set_preference("browser.helperApps.neverAsk.saveToDisk","text/csv") но, похоже, он не работает. Я пробовал много сочетаний с browser.helperApps.neverAsk.saveToDisk fp.set_preference("browser.helperApps.neverAsk.saveToDisk","text/csv,application/csv,text/plan,text/comma-separated-values") или fp.set_preference("browser.helperApps.neverAsk.saveToDisk","application/csv") fp.set_preference("browser.helperApps.neverAsk.saveToDisk","text/plain") fp.set_preference("browser.helperApps.neverAsk.saveToDisk","text/comma-separated-values") но нет никакой разницы, и Firefox не […]

WebDriverException: Сообщение: «Не удается подключиться к ChromeDriver». Ошибка в utils.is_connectable (self.port):

Я пытаюсь использовать chromedriver 2.10 для запуска моих тестов в браузере Chrome версии 35.0.1916.114 на компьютере CentOS /home/varunm/EC_WTF_0.4.10/EC_WTF0.4.10_Project/wtframework/wtf/drivers/chromedriver Фактически я исправил проблему пути, потому что сообщение об ошибке было другим, если проблема была связана с путем def start(self): """ Starts the ChromeDriver Service. :Exceptions: – WebDriverException : Raised either when it can't start the service […]

Найти и щелкнуть элемент из частичного значения onclick

Можно ли щелкнуть элемент через селен путем частичного значения элемента onclick ? На странице есть несколько элементов ввода, и мне нужно выбрать только одну строку. Примерами могут быть: <input name="booksubmit" type="button" class="searchAvailBtnSelect" value="Select" onclick="setTimeout('disableSelect()',1);bookNowSubmit('0165','1BD','000000452014022703S000016500010708F ','101400','156000','3','02/27/2014','false','false','false','false','true','false','false','EXPRESS','63','1 Bedroom Deluxe','false','AC')"> <input name="booksubmit" type="button" class="searchAvailBtnSelect" value="Select" onclick="setTimeout('disableSelect()',1);bookNowSubmit('0165','2BD','000000452014022703S000016500010708F ','101400','156000','3','02/27/2014','false','false','false','false','true','false','false','EXPRESS','63','2 Bedroom Deluxe','false','AC')"> <input name="booksubmit" type="button" class="searchAvailBtnSelect" value="Select" onclick="setTimeout('disableSelect()',1);bookNowSubmit('0165','1BD','000000452014022703S000016500010708F ','101400','156000','3','02/27/2014','false','false','false','false','true','false','false','EXPRESS','63','1 Bedroom Presidential','false','AC')"> […]

Как настроить тестовый пример Selenium Grid Python для тестирования нескольких машин?

Я успешно настроил SeleniumGrid для запуска тестов Python на нескольких компьютерах с разными ОС и браузерами. Тем не менее, мне все равно приходится писать один и тот же тестовый пример 3 раза, один раз для каждого узла, потому что ссылка на узел находится внутри тестового примера. Я просмотрел всевозможные онлайн-предложения для Python, например. разделяющий узел […]

Смешение неявных и явных ожиданий

Документы говорят: Неявное ожидание – сказать WebDriver, чтобы опросить DOM в течение определенного времени, пытаясь найти элемент или элементы, если они не доступны сразу. Суб-вопрос: В случае find_elements_by_ (множественное число), сколько элементов implicit_wait ждет существования, прежде чем продолжить свой скрипт? Или implicit_wait работает только с find_element_by_ (единственное число)? Если да, то что означают документы под […]

Прокрутка страницы с помощью Selenium Webdriver

У меня есть динамическая страница, которая загружает продукты, когда пользователь прокручивает страницу вниз. Я хочу получить общее количество продуктов, отображаемых на странице отображения. В настоящее время я использую следующий код, чтобы добраться до сути, пока все продукты не будут отображаться. elems = WebDriverWait(self.driver, 30).until(EC.presence_of_all_elements_located((By.CLASS_NAME, "x"))) print len(elems) a = len(elems) self.driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") time.sleep(4) elem1 = […]

Как использовать Selenium для входа на сайты, требующие имя пользователя и пароль?

Я разрабатываю автоматизированные тестовые скрипты с использованием selenium api с python. Но когда я запускаю скрипт из selenium rc, он переходит на страницу входа. Как я могу указать свое имя пользователя и пароль на этой странице, так как он не содержит сеансов или файлов cookie?

Scrapy with selenium, webdriver, не создающий экземпляр

Я пытаюсь использовать selenium / phantomjs с scrapy, и я пронизан ошибками. Например, возьмите следующий фрагмент кода: def parse(self, resposne): while True: try: driver = webdriver.PhantomJS() # do some stuff driver.quit() break except (WebDriverException, TimeoutException): try: driver.quit() except UnboundLocalError: print "Driver failed to instantiate" time.sleep(3) continue Много раз, когда драйвер кажется, что он не смог […]

Python - лучший язык программирования в мире.