#python #html #selenium #selenium-webdriver
#python #HTML #selenium #selenium-webdriver
Вопрос:
import time
import sys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
options.add_argument("window-size=1200x600")
driver=webdriver.Chrome('chromedriver',options=options)
driver.get("https://rentry.co/wftw8/edit")
try:
# here I selected the **span** element that I talk above
span = WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.XPATH,"//span[@role='presentation']")))
print(span.get_attribute('innerHTML'))
# change the innerText thwough js
driver.execute_script('arguments[0].innerText="iello cool"',span)
print(span.get_attribute('innerHTML'))
# just wait for the id_edit_code to be present
edit = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.ID, "id_edit_code")))
edit.send_keys("iRfiNq6M")
s=WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.ID, "submitButton")))
s.send_keys(Keys.ENTER)
#print the text updated
print(WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.XPATH,"//span[@role='presentation']"))).text)
#print the published and edited time
print(WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.CSS_SELECTOR,"div.float-right.text-right"))).text)
except:
print("Oops!", sys.exc_info()[0], "occurred.")
finally:
driver.close()
print("done")
Хотя изменение отражается при проверке с помощью print(span.get_attribute(‘innerHTML’))
Но после сохранения страницы с помощью кнопки сохранения ничего не отражается в реальном URL-адресе .. Там все еще есть старый текст..
Я гуглил и пробовал все возможные способы, но все равно безуспешно.
Любая помощь будет оценена по достоинству 🙂
Комментарии:
1. На каком этапе вы точно застряли? Какие шаги необходимо предпринять для воспроизведения проблемы? Вы видите какую-либо ошибку?
2. Если мы сделаем это вручную, мы можем изменить, но с selenium то же самое не происходит
3. На каком этапе вы точно застряли?
4. Нет ошибки или исключения, и я не понимаю, почему новый текст не заменяет старый .. хотя кнопка сохранения также нажата. Я нигде не застрял, но дело в том, что текст не обновляется ..!
5. вы отправляете клавишу ввода на кнопку. Либо отправьте это в поле ввода, либо нажмите кнопку.