from selenium import webdriver
from time import sleep
def detect_selenium(browser):
jsCode = 'return window.navigator.webdriver'
if browser.execute_script(jsCode) == True:
print('服务器端检测到selenium!')
else:
print('服务器端未检测到selenium!')
def main():
chromedriver = r'E:/Chrome/chromedriver'
options = webdriver.ChromeOptions()
options.add_argument('--disable-blink-features=AutomationControlled')
options.add_experimental_option("excludeSwitches", ['enable-automation', 'enable-logging'])
browser = webdriver.Chrome(executable_path=chromedriver, options=options)
browser.maximize_window()
browser.get('https://kyfw.12306.cn/otn/resources/login.html')
detect_selenium(browser)
userid_input = browser.find_element_by_id('J-userName')
passwd_input = browser.find_element_by_id('J-password')
sleep(0.5)
userid_input.send_keys('Phone/Email')
sleep(0.5)
passwd_input.send_keys('Password')
sleep(0.5)
login_btn = browser.find_element_by_id('J-login')
login_btn.click()
detect_selenium(browser)
while(True):
try:
span = browser.find_element_by_id('nc_1_n1z')
print('已定位到滑块')
break
except:
print('还未定位到滑块!')
sleep(0.2)
action = webdriver.ActionChains(browser)
action.click_and_hold(span)
action.move_by_offset(300, 0).perform()
action.release()
detect_selenium(browser)
sleep(2)
browser.quit()
if __name__ == "__main__":
main()