Я пытаюсь автоматизировать обновление полей в веб-приложении.Таким образом, URL не меняется после входа в систему
Вот мой код до сих пор
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
path_to_chromedriver = "C:/chromedriver"
browser = webdriver.Chrome(executable_path=path_to_chromedriver)
"""Login Page"""
login_url = "url"
browser.get(login_url)
username = browser.find_element_by_id("username")
password = browser.find_element_by_id("password")
username.send_keys("username")
password.send_keys("password")
browser.find_element_by_name("submit").click()
"""Application front page"""
searchBar = browser.find_element_by_id("searchBar")
searchBar.send_keys("item to be searched")
button = browser.find_element_by_id("searchButton")
button.click()
"""Click on item on search results"""
#starting here, everything doesn't work
wait = WebDriverWait(browser,10)
item = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR,'#item')))
item.click()#this never works as it just times out
Этот сайт является веб-приложением.Я распечатал источник страницы после каждого клика, и он не меняется после домашней страницы, однако в браузере Chrome он меняется.Явные и неявные ожидания оба не работают.Любые предложения?
Заранее спасибо
- edit -
Я немного не решаюсь опубликовать HTML, потому что это пользовательское веб-приложение.Тем не менее, класс тела - «dhtmlx_winviewport», и часть веб-приложения, которая действительно изменилась, начинается с чего-то вроде
<iframe id = "frameID" name = "frame1" src="some link that shows the item I searched for" height="400" width="400" frameboorder="0" style="z-index: 10; position: absolute; visibility: visible; width:400px; height:800px;"> == $0
Я хочу нажать на ячейку в таблице * 1015.*
<td align="left" valign="middle" title="title">title</td>
Я получаю сообщение об ошибке:
Traceback (последний последний вызов): файл "C: \ script.py", строка 45, в item = wait.until (EC.presence_of_element_located ((By.CSS_SELECTOR, 'css'))) Файл "C: \ Users \ me \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ site-packages \ selenium \ webdriver \ support \ wait \.py ", строка 80, до повышения TimeoutException (сообщение, экран, трассировка стека) selenium.common.exceptions.TimeoutException: Сообщение: