#google-chrome #selenium-webdriver #sendkeys
#google-chrome #selenium-webdriver #sendkeys
Вопрос:
Я никоим образом не программист, я просто пытаюсь автоматизировать отчет Chrome в моей книге Excel.
Я использую VBA Selenium, и мне нужно отправить дату в текстовое поле. Я использовал FindElementByXPath
и FindElementByName
, и оба работают.
obj.FindElementByName("filter_date_start_sold").Click – works
obj.FindElementByName("filter_date_start_sold").Clear – works
obj.FindElementByName("filter_date_start_sold").SendKeys ("01/08/2018").
Это работает, но добавляет новую дату к дате, которая уже была указана в текстовом поле, поэтому она становится 01/08/202001/08/2018
Я пытался использовать .SendKeys
(ключи.Backspace) но функция обратного пробела ничего не сделает.
Sub ChromeAutoSYD()
Dim obj As New WebDriver
obj.Start "chrome", ""
Set IE = CreateObject("InternetExplorer.Application")
Obj.Get "I am sorry I cannot list the actual URL as it is a company DB Site"
'The Sheet reference is my login details and this all works well
obj.FindElementByName("username").SendKeys (ThisWorkbook.Sheets("Sheet3").Range("D20").Value)
obj.FindElementByName("password").SendKeys (ThisWorkbook.Sheets("Sheet3").Range("D21").Value)
obj.FindElementByXPath("/html/body/div/div/div/div/div/div/div[2]/form/div[3]/button").Click
obj.FindElementByXPath("/html/body/div[1]/div/div[2]/div/div[2]/div[3]/div[2]/div/div/input").SendKeys("01082018").Value
obj.FindElementByXPath("/html/body/div[1]/div/div[2]/div/div[2]/div[3]/div[4]/button").Click
Application.Wait (Now TimeValue("0:00:05"))
End Sub
Комментарии:
1. Пожалуйста, опубликуйте какой-нибудь код, чтобы я мог протестировать
2. Привет Mike67, спасибо, что посмотрели на это, не уверен, как мне следует размещать код, но я попробую.
3. Просто отредактируйте свой пост и добавьте код к тексту. Используйте кнопку {} для форматирования текста в виде кода, чтобы он выглядел лучше.
4. вы пробовали с помощью метода clear() сначала очистить, а затем отправить ключи в поле?
5. Привет, Джастин, да, я сделал, и метод очистки также сработал, но когда я отправляю новый текст даты, поле, похоже, снова заполняется первым, а новый текст добавляется последним. Я думаю, что в текстовом поле этой страницы может быть какая-то форма управления, которая заставляет sit заполняться каждый раз, когда на нем появляется фокус.