У меня есть текстовое поле на веб-странице, на котором я хочу передать данные, но проблема в том, что мой скрипт python-selenium не может найти его при его запуске и достигает этой страницы , Странная часть - это когда я пытаюсь найти это текстовое поле вручную, я могу сделать это без каких-либо проблем. Я использую CSSSelector для поиска этого поля.Не удается найти текстовое поле при запуске скрипта python selenium
Стек след:
Traceback (most recent call last):
File "C:/SWInstallation/TestCases/TestCases\Program.py", line 23, in test_UC_QS_FR_01_1_QuikShip_Support
bhp.enterAccDetails("0004341080", "00200")
File "C:\SWInstallation\HC-Branch\src\HomePage.py", line 24, in enterAccDetails
accInputField = self.driver.find_element_by_css_selector("#fields input[name='ACCOUNT_NUMBER']")
File "C:\Python27\lib\selenium\webdriver\remote\webdriver.py", line 366, in find_element_by_css_selector
return self.find_element(by=By.CSS_SELECTOR, value=css_selector)
File "C:\Python27\lib\selenium\webdriver\remote\webdriver.py", line 680, in find_element
{'using': by, 'value': value})['value']
File "C:\Python27\lib\selenium\webdriver\remote\webdriver.py", line 165, in execute
self.error_handler.check_response(response)
File "C:\Python27\lib\selenium\webdriver\remote\errorhandler.py", line 158, in check_response
raise exception_class(message, screen, stacktrace)
NoSuchElementException: Message: u"Unable to find element with css selector == #fields input[name='ACCOUNT_NUMBER']"
Не могли бы вы поделиться HTML страницы и код, который вы используете, чтобы найти элемент? Обычно нужно учитывать, что, возможно, эта страница еще не загружена полностью загруженной, поэтому элемент не был найден. Добавление соответствующего ожидания может решить проблему. – PocketDews
@PocketDews: Извините, но я не могу разделить HTML-страницу из-за ограничений в моей компании. Однако я могу поделиться своим кодом, который я использую, чтобы найти элемент. –
Вот оно: Защиту enterAccDetails (самоповреждения, acctNumber, brNumber): accInputField = self.driver.find_element_by_css_selector ("# поля ввода [имя = 'ACCOUNT_NUMBER']") accInputField.send_keys (acctNumber) brInputField = само .driver.find_element_by_css_selector ("# полей ввода [имя = 'ДП']") brInputField.send_keys (brNumber) nextButton = self.driver.find_element_by_css_selector ("# полей .htmlbutton") nextButton.click() –