コード例 #1
0
def get_cookie():
    driver = openBrowser.open_chrome()
    driver.maximize_window()
    driver.get('https://www.cnblogs.com/')
    print('before login:'******'--------------------------')

    # 登录用户
    driver.find_element_by_link_text('登录').click()
    driver.find_element_by_id('mat-input-0').send_keys('zhaokch')
    driver.find_element_by_id('mat-input-1').send_keys('qwe123456')
    driver.find_element_by_css_selector(
        'body > app-root > div > mat-sidenav-container > mat-sidenav-content > div > div > app-sign-in > app-content-container > mat-card > div > form > div > button'
    ).click()

    time.sleep(5)

    print('after login:'******'--------------------------')

    driver.quit()
コード例 #2
0
def operate_element_by_partial_link_text():
    driver = openBrowser.open_chrome()
    driver.get('https://www.baidu.com')

    # 点击'新闻'链接
    driver.find_element_by_partial_link_text('新').click()
    time.sleep(1000)
コード例 #3
0
def get_title():
    driver = openBrowser.open_chrome()
    driver.maximize_window()
    driver.get('https://www.baidu.com/')

    title = driver.title
    print('title:', title)
コード例 #4
0
def get_window_handle():
    driver = openBrowser.open_chrome()
    driver.maximize_window()
    driver.get('https://www.baidu.com')

    handle = driver.current_window_handle
    print('handle:', handle)
コード例 #5
0
def screenshot_element():
    driver = openBrowser.open_chrome()
    driver.maximize_window()
    driver.get('http://user.qunar.com/passport/login.jsp')

    # 点击'密码登录'链接
    driver.find_element_by_class_name('pwd-login').click()
    # 整个页面截图
    driver.save_screenshot('../img/qunar_login.png')
    # 获取验证码元素
    vcodeImg = driver.find_element_by_id('vcodeImg')
    # 获取验证码对坐标
    left = vcodeImg.location['x']
    top = vcodeImg.location['y']
    right = left + vcodeImg.size['width']
    bottom = top + vcodeImg.size['height']
    print(right)

    from PIL import Image
    # 打开刚才保存对页面截图
    im = Image.open('../img/qunar_login.png')
    # 使用获取到的位置剪切图片
    im = im.crop((left * 2, top * 2, right * 2, bottom * 2))
    im.save('../img/im.png')

    driver.quit()
コード例 #6
0
def get_element_attribute():
    driver = openBrowser.open_chrome()
    driver.maximize_window()
    driver.get('https://www.baidu.com')

    value = driver.find_element_by_id('su').get_attribute('value')
    print('value:', value)
コード例 #7
0
def get_current_url():
    driver = openBrowser.open_chrome()
    driver.maximize_window()
    driver.get('https://www.baidu.com')

    url = driver.current_url
    print('url:', url)
コード例 #8
0
def screenshot():
    driver = openBrowser.open_chrome()
    driver.maximize_window()
    driver.get('https://passport.ctrip.com/user/reg/home')

    # 对页面进行截图
    driver.save_screenshot('../img/ctrip.png')
    driver.quit()
コード例 #9
0
def operate_element_by_id():
    driver = openBrowser.open_chrome()
    driver.get('https://www.baidu.com')

    # 往输入框里输入新闻
    driver.find_element_by_id('kw').send_keys('新闻')
    # 点击'百度一下'按钮
    driver.find_element_by_id('su').click()
    time.sleep(1000)
コード例 #10
0
def operate_element_by_css_02():
    driver = openBrowser.open_chrome()
    driver.get('https://www.baidu.com')

    # 元素有class属性的时候,通过css来定位
    driver.find_element_by_css_selector('.s_ipt').send_keys('新闻')
    # 点击'百度一下'按钮
    driver.find_element_by_class_name('s_btn').click()
    time.sleep(1000)
コード例 #11
0
def operate_element_by_css_04():
    driver = openBrowser.open_chrome()
    driver.get('https://www.baidu.com')

    # 元素有class属性的时候,通过css来定位
    driver.find_element_by_css_selector('input[name="wd"]').send_keys('新闻')
    # 点击'百度一下'按钮
    driver.find_element_by_css_selector('input[value="百度一下"]').click()
    time.sleep(1000)
コード例 #12
0
def send_keys_by_js():
    driver = openBrowser.open_chrome()
    driver.maximize_window()
    driver.get('https://www.baidu.com')

    js = "document.getElementById('kw').value='新闻'"
    driver.execute_script(js)
    time.sleep(3)

    driver.quit()
コード例 #13
0
def get_back():
    driver = openBrowser.open_chrome()
    driver.maximize_window()
    driver.get('https://www.baidu.com/')

    driver.find_element_by_id('kw').send_keys('新闻')
    driver.find_element_by_id('su').click()
    time.sleep(2)

    driver.back()
    driver.forward()
コード例 #14
0
def operate_element_by_tag_name():
    driver = openBrowser.open_chrome()
    driver.get('https://www.baidu.com')

    # 通过tag_name来定位元素
    driver.find_element_by_xpath(
        '//*[@id="form"]/span[1]').find_element_by_tag_name('input').send_keys(
            '新闻')
    driver.find_element_by_xpath(
        '//*[@id="form"]/span[2]').find_element_by_tag_name('input').click()
    time.sleep(1000)
コード例 #15
0
def operate_element_by_css_05():
    driver = openBrowser.open_chrome()
    driver.get('https://weibo.com/login.php')
    time.sleep(5)

    # 通过css绝对路径来定位元素
    # html>body>div.B_unlog>div.WB_miniblog>div.WB_miniblog_fb>div#weibo_top_public
    driver.find_element_by_css_selector(
        'html>body>div.B_unlog>div.WB_miniblog>div.WB_miniblog_fb>div#weibo_top_public>div>div>div.gn_search_v2>input'
    ).send_keys('新闻')
    time.sleep(1000)
コード例 #16
0
def scroll_by_js():
    driver = openBrowser.open_chrome()
    driver.maximize_window()
    driver.get('https://www.baidu.com')

    driver.find_element_by_id('kw').send_keys('新闻')
    driver.find_element_by_id('su').click()
    time.sleep(3)
    js = "window.scrollTo(0, document.body.scrollHeight)"
    driver.execute_script(js)
    time.sleep(10)

    driver.quit()
コード例 #17
0
def weibo_login_01():
    driver = openBrowser.open_chrome()
    driver.get('https://weibo.com/')
    time.sleep(10)

    # 通过xpath相对路径来定位元素
    driver.find_element_by_xpath('//*[@id="loginname"]').send_keys('123456')
    driver.find_element_by_xpath(
        '//*[@id="pl_login_form"]/div/div[3]/div[2]/div/input').send_keys(
            '123456')
    driver.find_element_by_xpath(
        '//*[@id="pl_login_form"]/div/div[3]/div[6]/a/span').click()
    time.sleep(1000)
コード例 #18
0
def checkbox_is_selected():
    driver = openBrowser.open_chrome()
    driver.maximize_window()
    driver.get('https://weibo.com/')
    time.sleep(8)

    selected = driver.find_element_by_id('login_form_savestate').is_selected()
    print('selected01:', selected)
    driver.find_element_by_id('login_form_savestate').click()
    selected = driver.find_element_by_id('login_form_savestate').is_selected()
    print('selected02:', selected)

    time.sleep(1000)
コード例 #19
0
def get_select_by_visible_text():
    driver = openBrowser.open_chrome()
    driver.maximize_window()
    driver.get('https://weibo.com/signup/signup.php')
    time.sleep(3)

    # 导入Select类
    from selenium.webdriver.support.select import Select
    element = driver.find_element_by_class_name('year')
    # 第二个选项显示的文本是2019
    Select(element).select_by_visible_text('2019')
    time.sleep(3)

    driver.quit()
コード例 #20
0
def input_clear():
    driver = openBrowser.open_chrome()
    driver.maximize_window()
    driver.get('https://www.baidu.com/')

    driver.find_element_by_id('kw').send_keys('新闻')
    driver.find_element_by_id('su').click()
    time.sleep(2)

    driver.find_element_by_id('kw').clear()
    driver.find_element_by_id('kw').send_keys('python')
    driver.find_element_by_id('su').click()

    driver.quit()
コード例 #21
0
def get_select():
    driver = openBrowser.open_chrome()
    driver.maximize_window()
    driver.get('https://weibo.com/signup/signup.php')
    time.sleep(3)

    # 导入Select类
    from selenium.webdriver.support.select import Select
    element = driver.find_element_by_class_name('year')
    # index索引是从0开始,选择1则表示选择第二个选项
    Select(element).select_by_index(1)
    time.sleep(3)

    driver.quit()
コード例 #22
0
def qq_email_login():
    driver = openBrowser.open_chrome()
    driver.maximize_window()
    driver.get('https://mail.qq.com/cgi-bin/loginpage')
    # 先切换到iframe
    driver.switch_to.frame('login_frame')

    driver.find_element_by_id('u').send_keys('1222222')
    driver.find_element_by_id('p').send_keys('111111')
    driver.find_element_by_id('login_button').click()

    time.sleep(3)

    driver.quit()
コード例 #23
0
def get_first_selected_option():
    driver = openBrowser.open_chrome()
    driver.maximize_window()
    driver.get('https://weibo.com/signup/signup.php')
    time.sleep(3)

    # 导入Select类
    from selenium.webdriver.support.select import Select
    element = driver.find_element_by_class_name('year')
    Select(element).select_by_index(3)

    print(option.text)

    driver.quit()
コード例 #24
0
def get_all_selected_options():
    driver = openBrowser.open_chrome()
    driver.maximize_window()
    driver.get('https://weibo.com/signup/signup.php')
    time.sleep(3)

    # 导入Select类
    from selenium.webdriver.support.select import Select
    element = driver.find_element_by_class_name('year')
    ops = Select(element).all_selected_options
    for i in ops:
        print(i.text)

    driver.quit()
コード例 #25
0
def move_element():
    driver = openBrowser.open_chrome()
    driver.maximize_window()
    driver.get('https://www.baidu.com/')

    # 导入ActionChains类
    from selenium.webdriver.common.action_chains import ActionChains
    element = driver.find_element_by_id('s-usersetting-top')
    # 这里使用move_to_element模拟将鼠标悬停在元素'设置'处
    ActionChains(driver).move_to_element(element).perform()
    time.sleep(3)
    driver.find_element_by_link_text('高级搜索').click()
    time.sleep(3)

    driver.quit()
コード例 #26
0
def operate_keyboard():
    driver = openBrowser.open_chrome()
    driver.maximize_window()
    driver.get('https://www.baidu.com')

    # driver.find_element_by_id('kw').send_keys('seleniumtest')
    # time.sleep(3)
    # 导入Keys类
    from selenium.webdriver.common.keys import Keys
    # driver.find_element_by_id('kw').send_keys(Keys.BACK_SPACE)
    driver.find_element_by_id('kw').send_keys('seleniumtest' + Keys.BACK_SPACE)

    time.sleep(3)

    driver.quit()
コード例 #27
0
def weibo_login():
    driver = openBrowser.open_chrome()
    driver.get('https://weibo.com/')
    time.sleep(10)

    # 通过xpath绝对路径来定位元素
    driver.find_element_by_xpath(
        '/html/body/div[1]/div[1]/div/div[2]/div[1]/div[2]/div/div[2]/div[1]/div[2]/div[1]/div/div/div/div[3]/div[1]/div/input'
    ).send_keys('123456')
    driver.find_element_by_xpath(
        '/html/body/div[1]/div[1]/div/div[2]/div[1]/div[2]/div/div[2]/div[1]/div[2]/div[1]/div/div/div/div[3]/div[2]/div/input'
    ).send_keys('123456')
    driver.find_element_by_xpath(
        '/html/body/div[1]/div[1]/div/div[2]/div[1]/div[2]/div/div[2]/div[1]/div[2]/div[1]/div/div/div/div[3]/div[6]/a'
    ).click()
    time.sleep(1000)
コード例 #28
0
def operate_slider():
    driver = openBrowser.open_chrome()
    driver.maximize_window()
    driver.get('https://passport.ctrip.com/user/reg/home')
    # 点击同意协议按钮
    driver.find_element_by_link_text('同意并继续').click()

    # 获取滑块元素
    from selenium.webdriver.common.action_chains import ActionChains
    slider = driver.find_element_by_class_name('cpt-drop-btn')
    print(slider.size['width'])
    print(slider.size['height'])

    # 获取滑块区域元素
    element = driver.find_element_by_id('slideCode')
    print(element.size['width'])
    print(element.size['height'])

    # 鼠标左键按下不放
    ActionChains(driver).click_and_hold(slider).perform()
    # 平行移动滑块到滑块区域到最右端
    ActionChains(driver).drag_and_drop_by_offset(slider, element.size['width'],
                                                 0).perform()
    time.sleep(5)
コード例 #29
0
def get_text():
    driver = openBrowser.open_chrome()
    driver.get('https://www.baidu.com')

    text = driver.find_element_by_link_text('新闻').text
    print('text:', text)