selenium的使用(一)

559 阅读1分钟

selenium驱动对象/元素获取/发送信息

import selenium
import urllib
import selenium.webdriver
import selenium.webdriver.common.keys
import time

"""
步骤:
    1.开启webdriver对象
    2.get获取网页信息
    3.通过元素定位想要的位置信息
    4.send_keys输入想要输入的信息
    5.按键进行操作
"""

driver = selenium.webdriver.Chrome(r"C:\Users\xxx\Desktop\chromedriver.exe")
driver.get("http://www.baidu.com")
elem = driver.find_element_by_id("kw")

elem.send_keys("python")
time.sleep(3)
elem.send_keys(selenium.webdriver.common.keys.Keys.RETURN)

time.sleep(20)
driver.close()

模拟登录xxxx网站

import selenium
import selenium.webdriver
import selenium.webdriver.common.keys
import time

driver = selenium.webdriver.Chrome(r"C:\Users\xxx\Desktop\chromedriver.exe")
driver.get("https://account.xxxxx.com/signin?returnUrl=https%3A%2F%2Fwww.xxx.com%2F")
elem = driver.find_element_by_id("LoginName")
elem.send_keys("*******")
elem2 = driver.find_element_by_id("Password")
elem2.send_keys("******")
time.sleep(3)
elem2.send_keys(selenium.webdriver.common.keys.Keys.RETURN)
time.sleep(10)
pagesource = driver.page_source
print(pagesource)

time.sleep(20)
driver.close()

page_source和find_element_by_xapth

相较于by_class_name的不确定性,使用by_xpath更能很好的定位元素的位置,by_xpath是最后的杀手锏

import selenium
import selenium.webdriver
import selenium.webdriver.common.keys
import time
driver = selenium.webdriver.Chrome(r"C:\Users\xxxx\Desktop\chromedriver.exe")
driver.get("https://talent.baidu.com/external/baidu/index.html#/social/2/python")
time.sleep(5)
for i in range(10):
    # elem = driver.find_element_by_class_name("next")
    """
    相较于by_class_name的不确定性,使用by_xpath更能很好的定位元素的位置,by_xpath是最后的杀手锏
    """
    elem = driver.find_element_by_xpath("//*[@class="pagination"]/ul//li[last()]/a")
    print(elem)
    time.sleep(3)

    elem.click()
    pagesource = driver.page_source
    print(pagesource)
    print("--"*40)

time.sleep(40)
driver.close()