Вопросы с тегами [selenium-webdriver]

1

голосов
1

ответ
87

Просмотры

IsEnabled () метод всегда возвращает истину

Я хочу, чтобы получить список строк, для которых включены флажки. Но когда я использую IsEnabled (), он всегда возвращает истину, даже для инвалидов флажков. И на выходе я получаю список всех строк, присутствующих в этой области. Ниже приведен код, который я написал для него: - @FindBy (CSS = «[класс =„CheckboxTextAligned“]») частный Список airportListCheckbox; общественного недействительными getEnabledValues ​​() {для (WebElement элементов: airportListCheckbox) {если (elements.isEnabled () == TRUE) {для (WebElement airportText: airportListTextName) {airportText.getText (); LOG.info (airportText.getText ()); }}} HTML-код, как показано ниже: - для флажков с ограниченными физическими возможностями: - London City для Enabled флажков: - London Gatwick
shashank sinha
1

голосов
3

ответ
152

Просмотры

Can't click a button with javascript using execute_script Selenium

Я пытаюсь избавиться от всплывающего окна печенья принимая печенье и нажав кнопку подтверждения. У меня нет никаких проблем с нажав ввод «zgadzam Sie на», но при нажатии на кнопку «potwierdź», кажется, невозможно. Мой код: от селена импорта WebDriver из импорта selenium.webdriver.common.by По из selenium.webdriver.support.ui импорта WebDriverWait из selenium.webdriver.support импортных expected_conditions как auction_url EC = 'https: //www.g2a.com/ гранд-кража-авто-v-рокзвезда ключ-глобального i10000000788017' драйвер = webdriver.Chrome () driver.get (auction_url) add_popup = WebDriverWait (водитель, 10) .until (EC.presence_of_element_located ((By.XPATH, ' // * [@ ид = "webklipper-издатель-виджет-контейнер-уведомление-кадр"] '))) driver.switch_to.frame (driver.find_element_by_xpath (' // * [@ ид =»
Vickers213
1

голосов
1

ответ
83

Просмотры

Java: Force Client of Method to Execute Code Before Returning

У меня есть куча профилей WebDriver (назовем их х, у и г) и мне нужно, чтобы выбрать случайный профиль для выполнения определенных действий. Давайте назовем действие А, В и С. В моем классе WebDriverManager я определил три метода: DOA (), Добролюбов () и РОУ (). Каждый метод будет выбрать случайный профиль, а) не используются в настоящее время, и б) имеет право выполнить данное действие. Если клиент вызывает DOA (), Добролюбов () или DOc (), они получат профиль WebDriver, имеющий право делать действие A, B или C. DOA (), Добролюбов () или DOc () будет также установить статус из сказал профиль Недоступен (через файл реквизит), так что профиль не будет возвращен для различных действий (или же действия, если вызываются из другого потока), пока он снова не станет доступным. Моя проблема заключается в профиле будет доступен только, когда клиент завершает использование указанного профиля по его прямому назначению. Поскольку методы DOA () и т.д., будут доступны через многие клиенты, как я могу заставить клиента о DOA (), Добролюбов () или DOc (), чтобы установить статус профиля WebDriver для ДОСТУПНЫ, прежде чем он вернется? Если когда-нибудь в будущем я забыл изменить статус данного профиля к имеющемуся (в клиенте), он останется навсегда UNAVAILABLE, которые вызывают много проблем. Так как я могу гарантировать, что любой метод вызывает DOA (), Добролюбов () и РОУ () устанавливает статус профиля, чтобы ДОСТУПНЫЕ перед возвращением? PS Это самый близкий вопрос, который я нашел на SO, но я считаю, что это не решает мою проблему, потому что я не могу контролировать фактический класс WebDriver, Я просто хочу, чтобы клиент каждый из указанных способов, чтобы выполнить определенное действие, прежде чем они вернутся. AutoClosable не будет работать, потому что я не пытаюсь закрыть конкретный экземпляр класса (я не контролирую класс), я хочу, чтобы клиент определенного метода для выполнения конкретного метода или коды до его завершения.
David Lynch
1

голосов
4

ответ
910

Просмотры

как GetAttribute из значения класса диапазона в веб-драйвера селеном

Я использовал .getAttribute ( "значение"); но он дает нулевое значение .gettext () метод также дает нулевой value.Kindly предложить способ forward.Snapshot из XPath Пожалуйста, заполните требуемые поля Absolute XPath для элемента: HTML / тело / дел [5] / дел [2] / дел / DIV / дел [2] / дел [3] / SPAN [2]
Abhishek Gaur
1

голосов
1

ответ
208

Просмотры

Что изменилось на Chromedriver 2,32 относительно загрузки расширения автоматизации?

Chromedriver 2,32 журнал изменений гласит, что «Изменения расширения автоматизации образом загружается на Mac и Windows» (https://sites.google.com/a/chromium.org/chromedriver/downloads). Моя проблема: мы не смогли использовать Chromedriver 2.28 первым, так как расширение sutomation должны быть белым списком в нашей организации. Мы сделали белый список, и мы смогли запустить Chromedriver 2,31. Когда я пытался использовать Chromedriver 2.32, я получаю ту же «Загрузка неупакованных расширений отключена» ошибка всплывающего окна.
Vignesh Kumar Rk
1

голосов
1

ответ
288

Просмотры

How could I maximize chrome browser's window using driver.manage().window() .maximize(); in a script for cross browser testing

. Я написал сценарий для кросс-браузер тестирования в Selenium WebDriver с помощью TestNG Parameters.But В этом сценарии driver.manage () окна () .maximize (); не работает с chrome.How Могу ли я увеличить окно всех браузеров? общественного класса WithTestNG {водитель WebDriver; @Parameters ( "браузер") @BeforeClass {если (browser.equalsIgnoreCase ( "светлячок")) System.setProperty ( "webdriver.gecko.driver", "/ Users / Прит / Desktop / Path / geckodriver"); Водитель = новый FirefoxDriver (); } Еще если (browser.equalsIgnoreCase ( "есть")) {System.setProperty ( "webdriver.ie.driver", "C: \\ Пользователи \\ CP \\ Загрузки \\ IED riverServer_x64_3.4.0 \\ IEDriverServer.exe" ); Водитель = новый InternetExplorerDriver (); } Иначе, если (browser.equalsIgnoreCase ( "хром")) {System.setProperty ( "webdriver.chrome. assertEquals (Actual_URL, Expected_URL, "URL не соответствует"); System.out.println ( "URL проверено"); } assertEquals (Actual_URL, Expected_URL, "URL не соответствует"); System.out.println ( "URL проверено"); }
Preet
1

голосов
0

ответ
76

Просмотры

How to print an exception under rspec execution log and rails console?

When Letter Opener email is triggered, it get printed into test.log. I need it to print it under console log. When Feature spec is running and if exception is occurred, it should get printed into server log on terminal. How to inspect the exception when email is triggered in letter_opener_email configuration? As using puts, it can get printed, but where to write puts ? using - ruby 1.9.3p0 gem 'rspec-rails', '2.6.1.beta1' gem 'capybara', '2.1.0' gem 'letter_opener', '1.4.1' Spec execution is done as - rspec spec/features/user_spec.rb -fd --out log.txt Requirement: when exception occurs, then it should get printed in Spec execution log(log.txt) In my case, when exception occurs, it get saved into /letter_opener folder in html format. I want to print that exception in log.txt in such a way that as it displays in browser(without displaying html, css tags). letter_opener_files = Dir["#{Rails.root}/tmp/letter_opener//"] letter_opener_files.sample is as below : (ActiveRecord::StatementInvalid) "OCIError: ORA-01722: invalid number: SELECT SUM(\"CASH_BOOK\".\"DEBIT\") AS sum_id FR... From: #<Mail::Field:0x0000001dae4cb0> Subject: (ActiveRecord::StatementInvalid) "OCIError: ORA-01722: invalid number: SELECT SUM(\"CASH_BOOK\".\"DEBIT\") AS sum_id FR... An ActiveRecord::StatementInvalid occurred in background at 2018-02-14 20:15:29 +1300 : OCIError: ORA-01722: stmt.c:253:in oci8lib_191.so ------------------------------- Backtrace: ------------------------------- stmt.c:253:in oci8lib_191.so /usr/local/rvm/gems/ruby-1.9.3-p0/gems/ruby-oci8-2.1.2/lib/oci8/oci8.rb:474:in `exec' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/activerecord-oracle_enhanced-adapter-1.4.1/lib/active_record/connection_adapters/oracle_enhanced_oci_connection.rb:143:in `exec I have tried below solution which is working, but mail get printed(with tags which is not required) in console only, not in log.txt describe 'User' do after(:each) do page = Nokogiri::HTML.parse(File.read(letter_opener_files.sample)) puts "Exception Occurred - #{page.css('p')}" end it 'should not have any exception' do create(:user) end end Got Output as below : 1.9.3-p0 :347 >puts "Exception Occurred - #{page.css('p')}" Exception Occurred - An ActiveRecord::StatementInvalid occurred in background at 2018-02-14 20:15:29 +1300 : OCIError: ORA-01722: invalid number: stmt.c:253:in oci8lib_191.so ------------------------------- Backtrace: ------------------------------- stmt.c:253:in oci8lib_191.so /usr/local/rvm/gems/ruby-1.9.3-p0/gems/ruby-oci8-2.1.2/lib/oci8/oci8.rb:474:in `exec' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/activerecord-oracle_enhanced-adapter-1.4.1/lib/active_record/connection_adapters/oracle_enhanced_oci_connection.rb:143:in `exec' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/activerecord-oracle_enhanced-adapter-1.4.1/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb:627:in `block in exec_query' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.6/lib/active_record/connection_adapters/abstract_adapter.rb:245:in `block in log' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.1.6/lib/active_support/notifications/instrumenter.rb:21:in `instrument' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.6/lib/active_record/connection_adapters/abstract_adapter.rb:240:in `log' Expecting Output(in log.txt & console) - Exception Occurred - An ActiveRecord::StatementInvalid occurred in background at 2018-02-14 20:15:29 +1300 : OCIError: ORA-01722: invalid number: stmt.c:253:in oci8lib_191.so ------------------------------- Backtrace: ------------------------------- stmt.c:253:in oci8lib_191.so /usr/local/rvm/gems/ruby-1.9.3-p0/gems/ruby-oci8-2.1.2/lib/oci8/oci8.rb:474:in `exec' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/activerecord-oracle_enhanced-adapter-1.4.1/lib/active_record/connection_adapters/oracle_enhanced_oci_connection.rb:143:in `exec' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/activerecord-oracle_enhanced-adapter-1.4.1/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb:627:in `block in exec_query' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.6/lib/active_record/connection_adapters/abstract_adapter.rb:245:in `block in log' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.1.6/lib/active_support/notifications/instrumenter.rb:21:in `instrument' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.6/lib/active_record/connection_adapters/abstract_adapter.rb:240:in `log' Please advise if there is any better way to do this and how to print exception under log.txt?
Rhunal
1

голосов
1

ответ
328

Просмотры

python script getting error

У меня есть новый в питоне. У меня есть установить питон на Ubuntu 14.04 system.i есть установить selenium.webdriver .. но я получаю ошибки при слежении Traceback (самый последний вызов последнего): Файл «test.py», строка 12, в с закрытием (Firefox ()), как браузер: Файл "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", строка 152, в __init__ self.service.start () Файл «/ USR / местные / Библиотека /python2.7/dist-packages/selenium/webdriver/common/service.py», строка 76, в начальном стандартном вводе = ТРУБЫ) Файл "/usr/lib/python2.7/subprocess.py", строка 710, в __init__ errread, errwrite) Файл "/usr/lib/python2.7/subprocess.py", строка 1327, в _execute_child повышение child_exception OSError: [Errno 20] Не каталог у меня есть попробовать следующий код: от закрытия contextlib импорта из селена.
pramod24
1

голосов
1

ответ
58

Просмотры

Как войти в winauth приложения с помощью питона селена?

Я использую «winauth» приложение и мне нужно написать сценарий входа с помощью питона селена. Как я могу добиться этого? Вы можете найти образ приложения
rts
1

голосов
1

ответ
658

Просмотры

SendKeys селена в питона доза не работает [дублировать]

Этот вопрос уже есть ответ здесь: Как решить ElementNotInteractableException: Элемент не виден в Selenium WebDriver? 2 ответов у меня есть этот код: от импорта селена WebDriver #open драйвера Firefox = webdriver.Firefox () #open произвольного ур URL = «https://www.scopus.com/search/form.uri?display=basic» водитель. получить (URL) #click на входном элементе для написания специального поиска слово = driver.find_element_by_xpath ( "" "// * [@ ID =" txtBoxSearch "] / метка" "") search.click () driver.implicitly_wait (5) #write вашего специального search.send_keys слова ( "интернет вещей") driver.implicitly_wait (5) search.submit () стек ошибок трассировка: поднять exception_class (сообщение, экран, StackTrace) selenium.common.exceptions.ElementNotInteractableException: сообщение: Элемент не достижим на клавиатуре URL открывается и х-путь идентифицирован, но send_keys не работает. Что я должен делать?
1

голосов
0

ответ
60

Просмотры

Access Docker image in Heroku CI

Я пытаюсь получить настройки Heroku CI, так что при коде фиксирования, я могу запустить сервер работаю мое приложение, а затем запустить WebDriver тестов против него, чтобы подтвердить, что новое изменение коды является действительным. Локально, я бегу моих тестов с использованием селена / автономный хром-отладочный Docker изображение. Документы Heroku, кажется, предполагают, что это может быть возможным использовать Docker изображение во время работает Heroku CI, но я не уверен, если это на самом деле возможно. Мой текущий app.json выглядит следующим образом: { "имя": "Тест", "окружающая среда": { "тест": { "Env": {}, "скрипты": { "тест-установка": «Докер бег - д --name с-хром-отладка -p 5900: 5900 -p 4444: 4444 селен / автономная-хром-отладка " "тест": "NPM пробного пуска"}, "образ":" селен / автономная-хромирование отлаживать», "buildpacks": [{ "URL": "Heroku / nodejs"}, { "URL": "https://github.com/heroku/heroku-buildpack-google-chrome.git"}, { "URL": «https://github.com/heroku/heroku-buildpack-chromedriver»}]}}} Во время фазы «тест-установка» на Heroku, я вижу buildpacks (который я думаю, что я, вероятно, не нужен) устанавливается , но нет никакого упоминания ни о чем, относящемся к изображению Докера. Тогда при выполнении команды моей «тест-установка» «Докер бег ...», он терпит неудачу, потому что Docker CLI не доступен. Баш: Докер: команда не найдена Это даже обоснованный подход к использованию Heroku CI? Если да, то как я могу начать изображение Докер? т необходимость) устанавливается, но нет никакого упоминания ни о чем, относящемся к изображению Докера. Тогда при выполнении команды моей «тест-установка» «Докер бег ...», он терпит неудачу, потому что Docker CLI не доступен. Баш: Докер: команда не найдена Это даже обоснованный подход к использованию Heroku CI? Если да, то как я могу начать изображение Докер? т необходимость) устанавливается, но нет никакого упоминания ни о чем, относящемся к изображению Докера. Тогда при выполнении команды моей «тест-установка» «Докер бег ...», он терпит неудачу, потому что Docker CLI не доступен. Баш: Докер: команда не найдена Это даже обоснованный подход к использованию Heroku CI? Если да, то как я могу начать изображение Докер?
Paul Andrew
1

голосов
0

ответ
162

Просмотры

Получить имя всех соединений с помощью селена к LinkedIn и C #

Я автоматизации сценарий, чтобы отправить сообщение всем связано в связи, которые находятся в моей сети. Я просто заметил, что ленивая загрузка к LinkedIn, кажется, не работает идеально некоторое время. Когда имеется большое количество соединений и я нажимаю на видеть все, что не может загрузить все соединения большой часть времени и ленивой остановки загрузки. Так вот в моем сценарии даже я прокрутке, я не могу получить все имена соединений. Я читал о некоторых API, чтобы извлечь все соединения, но это, кажется, не работает, когда я посещаю: http://api.linkedin.com/v1/people/~/connections. Я даже пытался с базовой аутентификацией, предоставляя имя пользователя и пароль. Есть ли другой способ, чтобы получить все имена соединений LinkedIn с помощью автоматизации. Я не хочу, чтобы экспортировать, как это дифф. сценарий и не полезно сейчас для меня.
Helping Hands
1

голосов
2

ответ
322

Просмотры

Как я могу запустить тот же тест на browserstack и локальных браузеров?

Я настроил тесты NUnit, который работает на BrowserStack (создано из этого примера https://github.com/browserstack/nunit-browserstack) базовый класс: пространства имен Bloc.TestProject {общественного класса BrowserStackNUnitTest {защищаемого водитель IWebDriver; защищенный строковый профиль; защищенный строковый окружающей среды; частная локальная browserStackLocal; общественные BrowserStackNUnitTest (строка профиль, строка среда) {this.profile = профиль; this.environment = среда; } [SetUp] общественный недействительный Init () {... Browserstack тесты: пространство имена Bloc.TestProject {[TestFixture ( "параллельный", "хром")] [TestFixture ( "параллельный", "ie11")] [TestFixture ( "параллельный », "iphoneX" )] [TestFixture ( "параллельный", "Ipad")] [TestFixture ( "параллельный", "samsungGalaxyS8")] [параллелизуемого (ParallelScope.Fixtures)] класс OnTimeOnlineBooking общественности: BrowserStackNUnitTest {WebDriverWait ждать; общественный OnTimeOnlineBooking (строка профиль, строка среда): база (профиль, окружающая среда) {} ... мои тесты ... Местные тесты: пространство имена Bloc.TestProject {[TestFixture (TypeOf (PhantomJSDriver))] общественный класс LocalBrowserTest где TWebDriver: IWebDriver , новый () {частный водитель IWebDriver; [Установка] общественный недействительный CreateDriver () {this.driver = новый TWebDriver (); } [Teardown] Очистка общественного недействительными () {driver.Quit (); } ... мои тесты ...
olemarius
1

голосов
0

ответ
328

Просмотры

Distil блокирование селена из-за печеньем / JavaScript?

Я слом сети и так несколько дней я получаю эту ошибку: О, нет! Lamentablemente, нет Hemos podido identificar той Navegador. Por пользу, comprueba дие JavaScript у печенье нет están bloqueadas пункт Эста página у Vuelve intentarlo. Это в основном говорит, что браузер не может быть идентифицирован, и что я должен проверить Javascript и печенье. Насколько мне известно, Selenium печенье и JS включен по умолчанию, так что, кажется, проблема с браузером ид. Эта ошибка, кажется, не появляется при использовании Firefox, но тогда слом терпит неудачу в других местах, так что я привязан к Chrome. Есть ли способ сказать Chrome, чтобы идентифицировать себя как-то заставить его работать?
kankamuso
1

голосов
0

ответ
30

Просмотры

Как открыть IE экземпляр WebDriver как не админ?

Im, используя инструмент для вызова следующего метода для запуска экземпляра IE. Строка driverPath = путь InternetExplorerDriverService обслуживание = InternetExplorerDriverService.CreateDefaultService (@driverPath); service.HideCommandPromptWindow = TRUE; InternetExplorerOptions варианта = новые InternetExplorerOptions (); options.IntroduceInstabilityByIgnoringProtectedModeSettings = TRUE; options.EnablePersistentHover = ложь; водитель = новые InternetExplorerDriver (услуги, опционы); Инструмент должен быть открыт с помощью администратора, так после того, как работает этот метод, браузер также открыт в качестве администратора, однако сайт мне нужно, чтобы получить доступ не работает, если браузер открыт в качестве администратора. Есть ли способ запустить браузер как не админ?
user2976568
1

голосов
0

ответ
55

Просмотры

Селен на Linux, не допускающий Отрицательную set_window_position

У меня есть питон скрипт, который запускает несколько окон, и плитки с использованием их set_window_position и set_window_size. Однако, если я пытаюсь переместить окна за пределами рабочего стола (то есть иметь отрицательный й или у, используя set_window_position) это переводится в нуль. Пример - Я посвящаю: driver.set_window_position (0, -50) и окно перемещается в верхней части экрана, а не за его пределами. Проверка с driver.get_window_position () приводит к { «х»: 0, «у»: 0} Я получаю те же результаты, как с Chrome и Firefox. Я делаю что-то неправильно? Я использую Linux Mint 18.3 корица, Селен 3.9.0, Python 3.5.2, ChromeDriver 3,25 (с Chrome 64) или geckodriver 0.19.1 (с FireFox Quantum 58). Я попытался отключить окно фрагментацию монетного двора и другие оконных эффекты не дали никаких результатов. Я также попытался это на Ubuntu 16.04 с Selenium 3.9. 0 и ChromeDriver 3,25 (с Chrome 64). Тем не менее, на Windows 10 с Selenium 3.9.0 и ChromeDriver 3,25 (с Chrome 64) работает, как ожидалось - окна браузера переходит к отрицательным значениям и позиционируется соответствующим образом.
Darek S
1

голосов
1

ответ
52

Просмотры

After starting My Scraper I do not get an output

Я бег скребка, чтобы получить имя продукта, Cat Нет, размер и цену, но когда я запускаю сценарий не дает мне выход или сообщение об ошибке. Я использую Jupyter ноутбук для этого и не уверен, что это проблема. Я также не уверен, потому что я вменять это в файл CSV, если это также придав ему вопросы. Любая помощь будет принята с благодарностью. Это код, который я бегу. с селеном импорта WebDriver импорта CSV, зева от BS4 импорта BeautifulSoup os.chdir (r'C: \ Users \ kevin.cragin \ AppData \ Local \ пип \ Cache \ колеса \ 09 \ 14 \ 7д \ 1dcfcf0fa23dbb52fc459e5ce620000e7dca7aebd9300228fe ') драйвера = WebDriver. Хром () driver.get ( 'https://www.biolegend.com/en-us/advanced-search?GroupID=&PageNum=1') HTML = driver.page_source контейнеры = html.find_all ( 'Li', {» класс: „список строк“}) с открытым (»
user9269112
1

голосов
2

ответ
226

Просмотры

getWindowHandles() not working in firefox 58.The focus remains on parent tab and does not transfer to next tab

Я начинаю, чтобы научиться работать с несколькими вкладками в браузере с помощью Selenium с Java. Похоже, мой код ниже не работает. импорт java.util.ArrayList; импорт org.openqa.selenium.By; импорт org.openqa.selenium.WebDriver; импорт org.openqa.selenium.WebElement; импорт org.openqa.selenium.firefox.FirefoxDriver; общественного класса HandlingWindows {государственной статической силы основных (String [] агдз) бросает InterruptedException {WebDriver водитель = новый FirefoxDriver (); driver.get ( "https://www.facebook.com/"); Строка родитель = driver.getWindowHandle (); System.out.println ( "родительское окно" + родитель); // Получение данных WebElement политики мы = driver.findElement (By.linkText ( "Политика в области данных")); // Нажмите политики по линии передачи данных we.click (); // Создать Список_массивы Список_массивы s1 = новый ArrayList (driver.getWindowHandles ()); для: (! (s2.equalsIgnoreCase (родитель))). (String s2 s1) {если {driver.switchTo () окно (s2); Thread.sleep (5000); System.out.println (driver.getWindowHandle ()); System.out.println ( "получить название окна" + driver.getTitle ()); }}}} Пожалуйста, дайте мне знать, как я могу отобразить название «политики данных» без использования getWindowHandles (). Println (driver.getWindowHandle ()); System.out.println ( "получить название окна" + driver.getTitle ()); }}}} Пожалуйста, дайте мне знать, как я могу отобразить название «политики данных» без использования getWindowHandles (). Println (driver.getWindowHandle ()); System.out.println ( "получить название окна" + driver.getTitle ()); }}}} Пожалуйста, дайте мне знать, как я могу отобразить название «политики данных» без использования getWindowHandles ().
Shiv
1

голосов
1

ответ
271

Просмотры

Selenium WebElement extension method in Python

Хотел спросить, есть ли шанс создать так называемый метод расширения для класса WebElement в рамках Селена / Appium. Я понимаю, что Python не имеет метод расширения, но некоторые вещи, которые могут быть достигнуты с обезьяной заплатами, однако я strugling сделать это. Позвольте мне показать это на примере В моей рамках меня есть функция для поиска для элементов: четкости find_element_with_wait (самоощущение, findby_and_locator, TIME_TO_WAIT = 5, dynamicaly_created = False): «» "Находит элемент на экране с 5 секунд таймаут по умолчанию тайм-аута может. быть указаны в параметрах функции как целое число Возвращает WebElement, если элемент существует, и ни один при е не существует такой элемент «»»find_by, селектор = Ничего, Ничего, если isinstance (findby_and_locator, ДИКТ):., если DeviceData () ._ platformName ==„Ios“ : find_by, Селектор = findby_and_locator.get ( 'IOS') еще: find_by, селектор = findby_and_locator.get ( 'Android') Элиф isinstance (findby_and_locator, кортеж): find_by, селектор = findby_and_locator self._wait_for_DOM_presence (find_by, селектор, TIME_TO_WAIT) попробовать: элемент = self.driver.find_element (find_by, селектор), за исключением NoSuchElementException: печать ( «добившийся элемент не найден возвратным элемент = None») элемент = None Теперь, как я уже нашел элемент, который является объектом класса WebElement Я хотел бы выполняет ту же функцию, что и выше на этом элементе, чтобы найти другой элемент (ребенок, потомок) внутри. Можно ли для того чтобы достигнуть такой вещи в Python? Я сделал это в C #, но в этом случае я беспомощен.
Artur J
1

голосов
1

ответ
62

Просмотры

Как обновить URL в текущей вкладке при нажатии на ссылку?

Const = селен требует ( 'селена WebDriver'); требовать ( 'chromedriver'); Const К = selenium.By; Const водитель = новый selenium.Builder () forBrowser ( 'хром') построить ()..; Const URL = 'https://example.com'; driver.get (URL); . Driver.findElement (By.css ( 'Заголовок нав .header-нав-п-знаковой в> .header-нав-ссылка')) нажмите (); // найти элементы на новый URL-адрес, который был открыт, нажав на ссылку driver.findElement (By.css ( '# user_session_email')) SendKeys ('[email protected] '); driver.findElement (By.css ( '# user_session_password')) SendKeys ( 'пример'). driver.findElement (By.css ( 'button.button.primary [тип = представить]')) нажмите (). Я открываю «example.com» и найти элемент, который является ссылкой. Я нажимаю на ссылку и попытаться найти элемент на новый URL-адрес, который был открыт в той же вкладке. Я получаю следующее сообщение об ошибке: UnhandledPromiseRejectionWarning: NoSuchElementError: нет такого элемента: Не удается найти элемент: Как я могу обновить URL в Selenium? Примечание: ссылка используется фиктивная ссылка. Фактическая страница имеет следующий элемент. Я не могу обновить URL селен присутствует в нем.
Chirag Bhansali
1

голосов
1

ответ
537

Просмотры

JSONException использование селена в затмении

Я получаю: Exception в потоке «главный» java.lang.NoClassDefFoundError: орг / JSON / JSONException Я добавил все банки в моем проекте, но до сих пор не может получить решение этой проблемы пакета automationFramework; импорт org.openqa.selenium.WebDriver; импорт org.openqa.selenium.chrome.ChromeDriver; общественного класса FirstTestCase {государственной статической силы основных (String [] арг) {System.setProperty ( "webdriver.chrome.driver", "E: /Selenium/chromedriver/chromedriver.exe"); WebDriver водитель = новый ChromeDriver (); driver.navigate () к ( "http://www.fb.com"). driver.get ( "http://www.google.com"); driver.get ( "HTTP: //www.amazon.com \ Test \ тест"); driver.get ( "http://www.flipkart.com"); driver.get ( "http://www.snapdeal.com"); driver.get ( "http://www.quora.com"); driver.get ( "http://www.bebotechnologies.com"); }}
Romit Gupta
1

голосов
1

ответ
5.2k

Просмотры

Не удалось выполнить голевые org.apache.maven.plugins: Maven-безошибочный-плагин: 2.21.0: тест (по умолчанию-тест) по проекту

Информация о моем проекте: IAnnotationTransformer используется для передачи данных на методы испытаний, как @Test (приоритет = 1, описание = «TC_Folder_DocumentTab_Add») // общественная пустота TC_Folder_DocumentTab_Add (** HashMap данные **) бросает исключение {} /.../ когда я бегу мое testng.xml как TestNG Suite, он работает отлично, но когда я пытаюсь запустить с pom.xml (Maven-плагин-верный) он выдает следующее сообщение об ошибке: [ERROR] Не удалось выполнить цели org.apache.maven. плагин: Maven-безошибочный-плагин: 2.21.0: тест (по умолчанию-тест) по проекту селена BackOffice: Есть неудачи испытаний. [ERROR] [ERROR] Пожалуйста, обратитесь к D: \ Amanda \ New_Automation_AMANDA \ селена BackOffice \ цели \ Surefire-отчеты для отдельных результатов испытаний. [ОШИБКА] Пожалуйста, обратитесь к дамп файлов (если таковые существуют) [дата] -jvmRun [N] .dump, [дата] .dumpstream и [дата] -jvmRun [N] .dumpstream. DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) [ОШИБКА] в java.lang.reflect.Method.invoke (Method.java:497) [ОШИБКА] в org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (запуска. Java: 289) [ОШИБКА] в org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229) [ERROR] в org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java: 415) [ERROR] на org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356) [ERROR] -> [Помощь 1] [ERROR] [ERROR] Для того, чтобы увидеть полный трассировки стека ошибок , повторно запустить Maven с -e переключателем. [ERROR] Повторно запустите Maven, используя -X переключателя, чтобы включить полный журнал отладки. [ERROR] [ERROR] Для получения дополнительной информации об ошибках и возможных решениях, пожалуйста, прочитайте следующие статьи:
Magesh
1

голосов
0

ответ
50

Просмотры

Обязательное постоянное подключение к Интернету для Selenium автономного сервера

Я использую Selenium автономного сервер с WebdriverIO и столкнулся с проблемой, что я всегда необходимо иметь рабочее подключение к Интернету. В противном случае селен отказывается начинать, как не в состоянии загрузить chromedriver: Ошибка: Не удалось запросить заголовки из https://chromedriver.storage.googleapis.com/2.30/chromedriver_win32.zip: Ошибка: getaddrinfo ENOTFOUND chromedriver.storage.googleapis.com chromedriver.storage.googleapis.com:443 я не понимаю, почему он должен загрузить его каждый раз с нуля, хотя он был уже загружен во время предыдущих запусков. Возможно, это ошибка. Проблема обсуждается здесь https://github.com/vvo/selenium-standalone/issues/324 Но нет надлежащего решения не предусмотрено, к сожалению. Итак, мой вопрос, есть ли способ настроить сервер селена (возможно через wdio.conf.
1

голосов
0

ответ
326

Просмотры

How I set a value in input-select (React.js field) with selenium c#?

люди. Я не получаю ввода-выберите значение (React.js поле) с селеном C #. Поле получить значение услуг. Обсерватория: Я уже пытаются заполнить поле с командой SendKeys, но я не прав. Ни HTML код: Selecione ... ввод # неопределенного :: - мс-чистый {дисплей: нет;} 000001 - EST GOinput # неопределенного :: - мс-четкого {дисплей: нет;} × Это мой код: // ParametersPage. CS общественной недействительный preencherCampoProduto (строка produto) {inputSelectProduto.Clicks (); IWebElement dropdownValue = retornaXpathCamposInputSelect (produto); dropdownValue.Clicks (); } Общественного IWebElement retornaXpathCamposInputSelect (строка доблесть) {вернуть driver.FindElement (By.XPath ( "// ДИВ [содержит (текст (), '" + доблесть + "')]")); } // ParametersTest. CS [TestMethod] общественный недействительный OLE_testParametrosPreencherConvenio () {autenticacao.RealizarAutenticacao (usuarioCorreto, senhaCorreta); paginaInicial.acessarMenuRemuneracaoCadastroListagem (); parametro.preencherCampoConvenio ( "005045 - CARBEL"); //Assert.IsTrue(alerta.MensagemValidacao().Contains(MSG_RelatorioDataInicioFimForaLimite)); } Спасибо, люди !!!
1

голосов
1

ответ
112

Просмотры

Gradle command syntax for executing TESTNG tests as a group

У меня есть некоторые тесты, как показано ниже: @test (группы = { "дым"}) общественного недействительными Test1 () {...} @test (группы = { "дым", "регрессия"}) общественного недействительными test2 () {. ..} @test (группы = { "регресс"}) общественного недействительными Test3 () {...} В build.gradle файле у меня есть ниже задачи smoketests (типа: Test) {useTestNG () {люкс «SRC / тест /resources/testng.xml»includeGroups„дым“}} Мне нужно иметь Gradle синтаксиса для запуска тестов дыма / регрессии только с помощью командной строки. Я попытался это: ./gradlew чистый тест -P testGroups = "дым", если я бегу, что строить успешно, как показано ниже:: чистый: compileJava: processResources уточненный: классы: compileTestJava: processTestResources UP-TO-DATE : testClasses: тест BUILD УСПЕШНЫЙ Общее время: 42.253 ИКС Но это никогда не выполнится сами тесты. Нужна помощь
Saikat Barua
1

голосов
0

ответ
389

Просмотры

Node.js Селен WebDriver ожидания / до тех пор, пока не появится, чтобы работать, как ожидалось

Новая селена автоматизированных скриптов тестирования, пытаясь создать детерминированный сценарий для проверки защищенного пароля сайта. Я могу открыть страницу входа в системе и отправить значение пользовательского / PASS и нажмите кнопку для входа без проблем, однако, после того, как этот шаг моих ошибок сценария, что элемент не может быть расположено. Я пытаюсь не использовать выжидательную / до подхода определить, что элементы доступны, до взаимодействия с ними. Ниже приведен пример раздел кода, чтобы проиллюстрировать мой подход. driver.get ( 'https://somedomain.com/folders/login.php'); driver.wait (until.titleIs ( 'Войти Страница'), 1 * 60 * 1000); driver.wait (until.elementLocated (By.id ( 'вход1'), 1 * 60 * 1000)), а затем (driver.findElement (By.id ( 'вход1')) SendKeys ( 'ХХХХХ').). driver.wait (until.elementLocated (By.id ( 'input2'), 1 * 60 * 1000)). затем (driver.findElement (By.id ( 'вход2')) SendKeys ( 'ХХХХХ').); . Driver.findElement (By.id ( 'inputBtn')) нажмите (); driver.wait (until.titleIs ( 'Выбор страницы'), 5 * 60 * 1000); driver.wait (until.elementLocated (By.id ( 'вход3'), 5 * 60 * 1000)); driver.wait (until.elementIsNotVisible (driver.findElement (By.id ( 'cssLoader'))), 5 * 60 * 1000); driver.findElement (By.id ( 'вход3')) нажмите кнопку (). Я получаю следующие ошибки: (узел: 1452) UnhandledPromiseRejectionWarning: отказ обещания Неизвестного (отказ ID: 1): NoSuchElementError: нет такого элемента: Не удается найти элемент: { "метод": "селектор CSS", "селектор": "* [ID = "cssLoader"] "} (узел: +1452) UnhandledPromiseRejectionWarning: отказ обещания Необработанного (отказ ID: 2): NoSuchElementError: нет такого элемента: Не удалось найти элемент: { «метод»: «селектор CSS», «селектор»: «* [ID =» вход3 «]»} я вижу ошибки в моей консоли, прежде чем процесс Логин завершен. Ранее я увеличил все ожидания таймаута, думая, что был частью проблемы, но это, кажется, не было так.
Nexnecis
1

голосов
2

ответ
86

Просмотры

Невозможно нажав кнопку Написать в www.mail.com/int/ с использованием Selenium WebDriver

Кнопка Compose нажатие команда не работает. В выходе он показывает Не удалось найти элемент. На Compose его шоу третья сторона IFrame так даже пытался IFRAME, но не работает кнопка навигации. импорт org.openqa.selenium.By; импорт org.openqa.selenium.Keys; импорт org.openqa.selenium.WebDriver; импорт org.openqa.selenium.WebElement; импорт org.openqa.selenium.firefox.FirefoxDriver; импорт org.openqa.selenium.interactions.Actions; импорт org.openqa.selenium.support.ui.ExpectedConditions; импорт org.openqa.selenium.support.ui.WebDriverWait; общественного класса почты {государственной статической силы основных (String [] арг) бросает InterruptedException {System.setProperty ( "webdriver.gecko.driver", "D: \ Mozilla водитель \ geckodriver.exe"); WebDriver водитель = новый FirefoxDriver (); driver.get ( "https://www.mail.com/int/"); . Driver.findElement (By.xpath ( ".//*[@ ID = 'Войти кнопку']")) нажмите (); driver.findElement (By.xpath ( ".//*[@ ID = 'Логин-почта'] ")) SendKeys (" [email protected]"). driver.findElement (By.xpath ( ".//*[@ ID = 'Логин-пароль'] ")) SendKeys (" Bangbang"). . Driver.findElement (By.xpath ( ".//*[@ ID = 'Войти форма'] / кнопка")) нажмите (); Thread.sleep (8000); driver.findElement (By.xpath ( ".//*[@ ID = 'навигация'] / мкл / Li [3] / а")) нажмите (). // здесь ошибка}}
shovit magar
1

голосов
1

ответ
129

Просмотры

почему нам нужно запустить селен автономный сервер для webdriverjs тестов?

с селеном документов https://www.seleniumhq.org/docs/03_webdriver.jsp#webdriver-and-the-selenium-server нам не нужно, чтобы запустить селен-сервер, если мы используем WebDriver, но почти вся JavaScript рамки автоматизации необходимо селен-сервер должен быть запущен перед запуском тестов. почему нам нужно запустить селен автономный сервер для webdriverjs тестов?
mahesh
1

голосов
1

ответ
89

Просмотры

Получение два разных результата от одной XPath

HTML код: Hello World Каждый элемент, текст ссылки содержит двойное пространство как "Hello World" Извлечение информации, в список список findAllUserName = driver.findElements (By.xpath ( "// ДИВ [@ класс = 'DEVICENAME усечения'] // текст()]")); для (WebElement webElement: findAllUserName) {Строка findUSerText = webElement.getText (); System.out.println (findUSerText); } Его дает список результатов с одним пробелом, «Hello World» Как следует преодолеть в этой ситуации? Для сравнения текста, Обеспокоенность за этим, хочет сравнить элемент списка с заданной строкой: driver.findElement (By.xpath ( «// ДИВ [@ класс =„DEVICENAME усечения“] // а [содержит (текст (), '» + имя + "')]")) И его с учетом двойного пространства,
Ishita Shah
1

голосов
0

ответ
32

Просмотры

Как тест-нг подбирает методы испытаний для исполнения с тестовой-нг ванной файла

Есть ли тест-нг внутренне использует концепцию отражения Java, чтобы выбрать методы испытаний из испытательной-нг ванной файла? Мол, в testng.xml файле мы будем упоминать имя класса. Затем, методы испытаний в этом конкретном классе будет выполняться с помощью тест-нг.
Magesh
1

голосов
0

ответ
60

Просмотры

Python - селен веб-страница открыта

У меня есть некоторый код, который открывает здесь существующий веб-страницу и нажимает на кнопку с надписью «HTTP Ping». Он открывает браузер Firefox, но на самом деле не подключиться к странице или нажмите на одну кнопку функции страницы. Любая помощь? #! / USR / бен / питон из драйвера селеном импорта WebDriver = webdriver.Firefox () driver.get ( "http://www.cloudping.info/") element1 = driver.find_element_by_link_text ( "HTTP Ping") element1.click () Теперь я получаю обратную связь: Traceback (самый последний вызов последнего): Файл "./finalProject", строка 9, в драйвере = webdriver.Firefox () Файл «/home/pjvaglic/.local/lib/python2.7 /site-packages/selenium/webdriver/firefox/webdriver.py "строка 80, в __init__ self.binary, тайм-аут) Файл" /home/pjvaglic/.local/lib/python2.7/site-packages/selenium/webdriver / светлячок / extension_connection.
Philip
1

голосов
2

ответ
45

Просмотры

Как нажать на кнопку, расположенную в пределах диапазона в другой промежуток?

Я пытался найти элементы с помощью XPath, CSSSelector и идентификатор. Кажется, ничего не работает. Идти
vdrog
1

голосов
1

ответ
2.5k

Просмотры

Невозможно экспортировать тестовые случаи в последней Selenium-IDE

Последний Селен-IDE, кажется, не имеет функции экспорта на свалку испытаний на желаемом языке; говорят, Ruby, Java, Python. Есть ли возможность включить его?
Prashanth Sams
1

голосов
1

ответ
111

Просмотры

Passing data using dataprovider in PageObjectModel in TestNG

У меня есть сценарий, где в им вызов метода (который имеет код для создания рабочего процесса - определенный в страницах рамках ПОМ), я написал универсальный метод, чтобы получить данные из файла, используя первенствовать DataProvider в TestNG Теперь у меня есть метод, который @test выполнить действие по созданию рабочего процесса, как показано ниже @DataProvider (имя = "пп") общественности статической String [] [] getExcelData () бросает исключение {ExcelReader чтения = новый ExcelReader (); Строка Filepath = "путь excelfile"; вернуться read.getCellData (Filepath, "Лист1"); } @Test (dataProviderClass = ExcelReader.class, DataProvider = "ВФ") публичное тестирование недействительным (String рабочий, тип String, String блок) {System.out.println ( "------------- Тестовый случай начал ------------- "); System.out.println (» becoz @test метод снова запустить с начала вместо того, чтобы создавать несколько рабочих процессов, за «метод CreateWorkflow. Можете ли вы дайте мне знать, как я могу добиться этого или лучшее решение.
Raghu Hoskote
1

голосов
5

ответ
183

Просмотры

Селен WebDriver: GetText () возвращается пустая строка для h2 тега

Я имею очень трудное время, чтобы получить текст из h2 тега. Я хочу, чтобы «Продукт успешно добавлен в корзину» текст. Мой код: WebDriver водитель = новый FirefoxDriver (); driver.get ( "http://automationpractice.com"); , , , System.out.println (driver.findElement (By.xpath ( "// * [@ ид = 'layer_cart'] / дел [1] / дел [1] / h2")) GetText ().); Это следующий HTML-код: Продукт успешно добавлен в вашу корзину
Swapnil Gupta
1

голосов
0

ответ
70

Просмотры

Щелчок правой кнопкой мыши на ссылку - не удалось выбрать элемент меню

Я пытаюсь щелкнуть правой кнопкой мыши на ссылку и выберите «Открыть ссылку в новой вкладке» из меню в меню. Этот код должен работать, но не работает. // Создать chromedriver. IWebDriver водитель = новый ChromeDriver (); // Поднимает страницу JQuery демки. . Driver.Navigate () GoToUrl ( "http://jqueryui.com/demos/"); // Создать объект Действия. Действие = новые действия (драйвер); // правая кнопка мыши на «построить тему» ​​ссылку и открыть ее в новой вкладке. IWebElement эль = driver.FindElement (By.XPath ( "// * [@ ID = 'содержание'] / р [1] / а [1]")); action.ContextClick (эль) .SendKeys (Keys.Down) .SendKeys (Keys.Enter) .Выполните (); Правый щелчок происходит, но Селен не открывает страницу в новой вкладке. Она открывает его в существующую вкладку. Как я могу получить правую кнопку мыши, чтобы открыть страницу в новой вкладке? ДОПОЛНЕНИЕ: Код ниже работ и открывает ссылку в новой вкладке, но это не является идеальным решением action.ContextClick (эль) .SendKeys (Keys.Control) .SendKeys (Keys.Enter) .Произвести (); Например, я не могу открыть страницу в новом окне, если я хотел.
Burak
1

голосов
2

ответ
126

Просмотры

Python/Selenium Can't find searchbox

Я пытаюсь выбрать первый SearchBox на этом сайте: https://www.ris.bka.gv.at/Bundesrecht/ Это мой код: для II в testList2: varTitel = II SearchBox = driver.find_element_by_id ( «MainContent_SuchworteField» ) SearchBox = driver.find_element_by_xpath ( '// * [@ ID = "MainContent_SuchworteField"] / SPAN') SearchBox = driver.find_element_by_name ( '') MainContent_SuchworteField_Value searchBox.send_keys (varTitel) searchBox.send_keys (Keys.ENTER) time.sleep (1) печать ( "ссылка запрос:" + driver.current_url) driver.back () driver.quit () Как вы можете видеть, я попробовал три способа выбора SearchBox. Everytime я получаю NoSuchElement исключения. selenium.common.exceptions.NoSuchElementException: Сообщение: нет такого элемента: Не удается найти элемент: { «метод»:» MainContent_SuchworteField «] / оболочка»} selenium.common.exceptions.NoSuchElementException: Сообщение: нет такого элемента: Не удалось найти элемент: { «метод»: «название», «селектор»: «MainContent_SuchworteField_Value»} Вот фрагмент того, что показывается после осмотра сайта. Я надеюсь, что вы можете мне помочь, Приветствие MainContent_SuchworteField «] / оболочка»} selenium.common.exceptions.NoSuchElementException: Сообщение: нет такого элемента: Не удалось найти элемент: { «метод»: «название», «селектор»: «MainContent_SuchworteField_Value»} Вот фрагмент того, что показывается после осмотра сайта. Я надеюсь, что вы можете мне помочь, Приветствие
Civoknats
1

голосов
0

ответ
56

Просмотры

Селен WebDriver C # - XPath не работает

Из приведенной выше коды упоминались выше, если я использую ниже XPath: // * [содержит (текст (), «Ошибки при добавлении оценки Detail или Вы не имеете разрешений на обновление записи»)] Приведенные данные показывают недействительны, как показано ниже: Мое требование: Он должен показать (-) Развернуть Но в данный момент отображается (+), что означает только «DIV», а не внутреннее содержание. Пожалуйста, помогите мне с любым решением!
Nisarg Patel
1

голосов
1

ответ
25

Просмотры

Не удается найти ссылку

Я пытаюсь щелкнуть вкладку (Нормативная региональный) на веб-странице: https://www5.fdic.gov/idasp/advSearchLanding.asp Однако он не опознает команду. Здесь я прилагаю код. импорт urllib2 импорта URLLIB из BS4 импорта BeautifulSoup импорта подпроцесса из селена импорта WebDriver от импорта selenium.webdriver.common.by По из импорта selenium.webdriver.support.ui Выберите из selenium.webdriver.common.keys импорт ключей браузер = webdriver.Chrome ( «/ USR / местные / бен / chromedriver») время импорта s1_url = «https://www5.fdic.gov/idasp/advSearchLanding.asp» browser.get (s1_url) Задача: выбрать вкладку регулирующую региональный, но не щелкает его , . Browser.find_element_by_xpath ( '// [@ ид = "Banks_Regulatory_Tab"] / а') нажмите () Есть исключение: NoSuchElementException: Сообщение: нет такого элемента:
Amina
1

голосов
2

ответ
48

Просмотры

Как я могу получить количество ссылок / пунктов в Yahoo домашней страницы верхней панели?

driver.get ( "https://www.yahoo.com/"); driver.manage () времени ожидания () implicitlyWait (5, TimeUnit.SECONDS)..; Список optionCount = driver.findElements (By.xpath ( "// * [@ ID = \" мега-bottombar \ "]")); System.out.println (optionCount.size ()); рассчитывать им пытаются получить
Kamran Xeb

Просмотр дополнительных вопросов