2019-11-4 TIL

오늘의 배운점

const getLogin = async () => {
  const driver = await new Builder().forBrowser('chrome').build();
  try {
    await driver.get('https://play.google.com/store/account/orderhistory');
    await driver.findElement(By.css('#identifierId')).sendKeys('test');
    await driver.findElement(By.css('#identifierNext')).click();
    await driver.sleep(1000);
    await driver.wait(until.elementLocated(By.css('#password > div.aCsJod.oJeWuf > div > div.Xb9hP > input')), 1000).then((el) => el.sendKeys('testpwd'));
    await driver.wait(until.elementLocated(By.id('#passwordNext')), 1000).then((el) => el.click());
  } catch (e) {
    console.log(`error : ${e}`);
  }
}
  • selenium을 이용해서 크롤러를 만들다보면 항상 부딪치는 문제가 입력하려는 필드보다 값이 먼저 입력이 되기때문에 에러가 발생을 하는경우다. 아직은 node-selenium이 익숙하지 않아서 driver.wait이런 부분이 잘 동작하지 않는다. 우선은 임시적으로 sleep을 이용했다. 이 부분을 개선해야되지만 document가 익숙하지 않은관계로 리팩토링은 차후에…
Written on November 4, 2019