I have a text file which contains all text for an dropdown list. I am trying to select text from the dropdown list those only exist in my text file. I tried this but didn’t work
f = open('address.txt',encoding="utf-8") lines = f.readlines() for line in lines: y =line.strip() print(y) time.sleep(5) #here I am passing every line from my text file region = driver.find_element_by_xpath(f'//*[contains(text(),{y})]') #if I give text value instead of passing text file then it's working #region = driver.find_element_by_xpath("//*[contains(text(),'Denver')]") time.sleep(5) region.click()
error massage:
raise exception_class(message, screen, stacktrace) selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable (Session info: chrome=88.0.4324.104)
Advertisement
Answer
You are missing the quotes defining the text (surrounding {y}
) in your xpath. Try the following.
f = open('address.txt',encoding="utf-8") lines = f.readlines() for line in lines: y =line.strip() print(y) time.sleep(5) #here I am passing every line from my text file region = driver.find_element_by_xpath(f'//*[contains(text(),"{y}")]') #if I give text value instead of passing text file then it's working #region = driver.find_element_by_xpath("//*[contains(text(),'Denver')]") time.sleep(5) region.click()