selenium 用 python 修改 html 只读输入元素?
selenium modify html read only input element with python?
我正在尝试使用 selenium 清除 'read only' 输入字段中的文本字段。
这部分代码,虽然我没有得到错误,但它不起作用:
from selenium.webdriver.common.keys import Keys
enddate = driver.find_element_by_xpath('//*[@id="end"]')
enddate.send_keys(" ")
time.sleep(3)
我也尝试过通过元素 id 来实现,将空字符串发送到字段,使用 clear() 但它不起作用。这是我要在 UI 上清除的字段(我希望清除结束日期字段)
对于测试,如果我尝试通过修改开发人员工具上的 HTML 元素来删除该值,那么它可以工作,但它不是自动的并且不使用 selenium。
关于如何完成此任务的任何建议?谢谢
您需要先删除 readonly
属性:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
end_date = driver.find_element_by_xpath('//*[@id="end"]')
# Remove the attribute first:
driver.execute_script("arguments[0].removeAttribute('readonly')"), WebDriverWait(driver, 3).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="end"]'))))
end_date.send_keys(" ")
time.sleep(3)
我正在尝试使用 selenium 清除 'read only' 输入字段中的文本字段。
这部分代码,虽然我没有得到错误,但它不起作用:
from selenium.webdriver.common.keys import Keys
enddate = driver.find_element_by_xpath('//*[@id="end"]')
enddate.send_keys(" ")
time.sleep(3)
我也尝试过通过元素 id 来实现,将空字符串发送到字段,使用 clear() 但它不起作用。这是我要在 UI 上清除的字段(我希望清除结束日期字段)
对于测试,如果我尝试通过修改开发人员工具上的 HTML 元素来删除该值,那么它可以工作,但它不是自动的并且不使用 selenium。
关于如何完成此任务的任何建议?谢谢
您需要先删除 readonly
属性:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
end_date = driver.find_element_by_xpath('//*[@id="end"]')
# Remove the attribute first:
driver.execute_script("arguments[0].removeAttribute('readonly')"), WebDriverWait(driver, 3).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="end"]'))))
end_date.send_keys(" ")
time.sleep(3)