Python Selenium не нажимает на элемент

Я хотел бы нажать календарь, но что-то не щелкает (она находится на трех полосах слева)

driver.get('http://www.sse.com.cn/disclosure/bond/announcement/company/')
wait = WebDriverWait(driver, 50)

wait.until(EC.element_to_be_clickable((By.XPATH, "//div[@class='sse_searchInput']/input[@class='form-control sse_input']"))).click()

Огромное спасибо!

какую дату вы хотите ввести?

cruisepandey 22.03.2022 08:54

@cruisepandey любой диапазон дат, это не имеет значения

Joyce 22.03.2022 09:01
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
2
36
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы посмотрите на элемент, inputBox является атрибутом readonly, поэтому он не позволяет вводить какое-либо значение.

<input class = "form-control sse_input" type = "text" placeholder = "开始时间  至  结束时间" readonly = "" lay-key = "1">

Чтобы сделать его доступным для ввода даты, вы можете удалить атрибут readonly из этого элемента, а затем ввести дату, используя send_keys.

driver.get('http://www.sse.com.cn/disclosure/bond/announcement/company/')
wait = WebDriverWait(driver, 20)
dateInputBox=wait.until(EC.element_to_be_clickable((By.XPATH, "//div[@class='sse_searchInput']/input[@class='form-control sse_input']")))
driver.execute_script("arguments[0].removeAttribute('readonly')", dateInputBox)
time.sleep(1)
dateInputBox.send_keys("2022-03-31 - 2022-04-22")
print("Date added :" + dateInputBox.get_attribute("value"))
time.sleep(10) # testing purpose to view it

Выход:

Большое спасибо! Это действительно помогает! Могу я спросить, почему он не может сначала щелкнуть xpath, чтобы отобразить календарь? И если я хочу найти эту дату, я должен нажать кнопку поиска, я пытаюсь использовать driver.find_element_by_xpath("//*[@id='layui-laydate1']/div[‌​3]/div/span").click(‌​), но там нет такого элемента. Могу ли я попросить вашего совета

Joyce 23.03.2022 03:20

Другие вопросы по теме