def selenium_login(self):
try:
self.pydriver.get(self.config_dict[TABLEAU_SERVER_URL])
time.sleep(2)
self.pydriver.page_source.encode('utf-8')
logins = self.pydriver.find_elements(By.XPATH, '//input')
if logins is None or len(logins) == 0:
ACLogger().get_logger().error('selenium_login error 1')
return False
the_login = logins[0]
password = logins[1]
the_login.send_keys(self.config_dict[TABLEAU_SERVER_USERNAME])
password.send_keys(self.config_dict[TABLEAU_SERVER_PASSWORD])
buttons = self.pydriver.find_elements(By.XPATH, '//button')
button = None
for b in buttons:
if str(b.text) == 'Sign In':
button = b
if button is None:
ACLogger().get_logger().error('selenium_login error 2')
return False
button.click()
time.sleep(2)
if 'Workbooks' not in self.pydriver.title:
ACLogger().get_logger().error('selenium_login error 3')
return False
except (WebDriverException, StaleElementReferenceException, HTTPException, ResponseNotReady) , e:
ACLogger().get_logger().error('selenium_login error: %s' % str(e))
return False
ACLogger().get_logger().info(
'Logged in %s successfully, next page title: %s' % (self.config_dict[TABLEAU_SERVER_URL], self.pydriver.title))
return True
评论列表
文章目录