0

having trouble with selenium. Trying to parse one webpage and while running it Im having broken UI, therefore couldn't fill fields with text(getting error not interactable) enter image description here

how it looks in general what i have after running selenium

enter image description here

Message: element not interactable (Session info: chrome=99.0.4844.84) Stacktrace: Backtrace: Ordinal0 [0x00BF9943+2595139] Ordinal0 [0x00B8C9F1+2148849] Ordinal0 [0x00A843F0+1065968] Ordinal0 [0x00AAC4D3+1230035] Ordinal0 [0x00AABB8B+1227659] Ordinal0 [0x00ACB9EC+1358316] Ordinal0 [0x00AA7474+1209460] Ordinal0 [0x00ACBC04+1358852] Ordinal0 [0x00ADBAF2+1424114] Ordinal0 [0x00ACB806+1357830] Ordinal0 [0x00AA6086+1204358] Ordinal0 [0x00AA6F96+1208214] GetHandleVerifier [0x00D9B232+1658114] GetHandleVerifier [0x00E5312C+2411516] GetHandleVerifier [0x00C8F261+560433] GetHandleVerifier [0x00C8E366+556598] Ordinal0 [0x00B9286B+2173035] Ordinal0 [0x00B975F8+2192888] Ordinal0 [0x00B976E5+2193125] Ordinal0 [0x00BA11FC+2232828] BaseThreadInitThunk [0x773EFA29+25] RtlGetAppContainerNamedObjectPath [0x77AA7A7E+286] RtlGetAppContainerNamedObjectPath [0x77AA7A4E+238]

my code:

url = "https://opi.dfo.kz/p/ru/archive-publication/corporative-events-2020-14-07"
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get(url)
element = driver.find_element(By.XPATH, '//*[@id="CorporativeEvents20201407"]/div[1]/div[1]/div/div[2]/div[1]/span[3]')
element.send_keys('010140000143')

Please help me!

Prophet
  • 32,350
  • 22
  • 54
  • 79
Yerbol
  • 39
  • 6

1 Answers1

0

You can not send text directly to that element.
You should click on that element, this will open another input element where you will be able to insert your text input.
Also you have to use Expected Conditions explicit waits here.
This works:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
url = "https://opi.dfo.kz/p/ru/archive-publication/corporative-events-2020-14-07"
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
wait = WebDriverWait(driver, 20)
wait.until(EC.visibility_of_element_located((By.XPATH, '//*[@id="CorporativeEvents20201407"]/div[1]/div[1]/div/div[2]/div[1]/span[3]'))).click()
wait.until(EC.visibility_of_element_located((By.XPATH, "//input[@class='editor-text tip']"))).send_keys("010140000143")

The '//*[@id="CorporativeEvents20201407"]/div[1]/div[1]/div/div[2]/div[1]/span[3]' XPath locator can and should be improved as well. You can use //div[@class='logic-group-condition' and .//span[@field-name='tbOpiActiveRevisions_flBin']] Instead. This locator is much more reliable. So your code will be:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
url = "https://opi.dfo.kz/p/ru/archive-publication/corporative-events-2020-14-07"
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
wait = WebDriverWait(driver, 20)
wait.until(EC.visibility_of_element_located((By.XPATH, "//div[@class='logic-group-condition' and .//span[@field-name='tbOpiActiveRevisions_flBin']]"))).click()
wait.until(EC.visibility_of_element_located((By.XPATH, "//input[@class='editor-text tip']"))).send_keys("010140000143")

This is the screen shot of the web page after applying my code: enter image description here

Prophet
  • 32,350
  • 22
  • 54
  • 79
  • Yes, I get it that I should click on element and opent another input. but can u explain how it worked on ur computer? I have the same problem with broken UI after 20 secs it throws me TimeoutException. – Yerbol Mar 27 '22 at 08:28
  • I'm sorry, but I don't understand. This code works correctly on my computer. It opens the input field and fills it with text. – Prophet Mar 27 '22 at 08:30
  • See the screen shot – Prophet Mar 27 '22 at 08:45
  • thanks a lot. When I running it, my webpage is broken, still UI issue – Yerbol Mar 27 '22 at 09:06
  • In case you still have some problem - please open a new question, I will try helping again – Prophet Mar 27 '22 at 09:28
  • https://stackoverflow.com/questions/71635577/while-running-selenium-on-windows-having-ussue-with-webpage-uisome-forms-are-b – Yerbol Mar 27 '22 at 10:37