#javascript #node.js #selenium #selenium-webdriver
Вопрос:
Я попытался автоматизировать следующий выбор даты :
Это код, который я написал, чтобы автоматизировать его с помощью Selenium NodeJS :
const { By, Key, Builder, WebElement, Alert } = require('selenium-webdriver');
require('chromedriver');
async function login(){
const driver = await new Builder().forBrowser('chrome').build();
await driver.get('https://www.carnextdoor.com.au/search');
await driver.findElement(By.name('location')).clear();
let city = 'Sydney Airport, Airport Dr, Sydney, New South Wales 2020, Australia';
await driver.findElement(By.name('location')).sendKeys(city);
await driver.findElement(By.name('location')).sendKeys(Key.RETURN);
await driver.findElement(By.css('.cyp-datetime-picker-modal')).click();
await driver.findElement(By.css('.mbsc-cal-next-m')).click();
await driver.findElement(By.css('.mbsc-cal-next-m')).click();
await driver.findElement(By.css('.mbsc-cal-next-m')).click();
await driver.findElement(By.css('.mbsc-cal-next-m')).click();
await driver.findElement(By.css('.mbsc-cal-next-m')).click();
await driver.findElement(By.css('.mbsc-cal-next-m')).click();
await driver.findElement(By.css('.mbsc-cal-next-m')).click();
await driver.quit();
}
login();
Я мог перемещаться по месяцам, но не мог выбрать диапазон дат. Я был бы очень признателен, если бы кто-нибудь научил меня, как выбрать диапазон дат из средства выбора дат. 🙂
Ответ №1:
Попытался использовать xpath для поиска дат. Удалось выбрать даты.
driver.get("https://www.carnextdoor.com.au/search")
fromdate= "'Monday, August 2 '"
todate = "'Thursday, August 5 '"
driver.find_element_by_xpath("//button[@class='cnd-btn cnd-filter-btn cyp- datetime-picker-modal']").click()
driver.find_element_by_xpath("//div[@aria-label= {} and @aria- disabled='true']".format(fromdate)).click()
driver.find_element_by_xpath("//div[@aria-label= {} and @aria-disabled='true']".format(todate)).click()
driver.find_element_by_xpath("//button[text()='Confirm time']").click()