驱动的安装:
1.在http://npm.taobao.org/mirrors/chromedriver/中寻找chrome的驱动,进行安装
2.windows中将chrome.exe加入环境变量中
3.再把下载的chromedriver复制粘贴到你安装的python的Scripts目录下,
测试是否安装成功:
from selenium import webdriver
browser = webdriver.Chrome()
selenium的安装:
pip3 install selenium
1.打开一个网页
browser.get(url)
browser.get(“https://www.baidu.com”)
2.对元素进行查找定位
browser.find_element()
通过下面几种方式进行查找定位
login_form = driver.find_element_by_xpath("/html/body/form[1]")
login_form = driver.find_element_by_id('loginForm')
username = driver.find_element_by_name('username')
continue_link = driver.find_element_by_link_text('Continue')
heading1 = driver.find_element_by_tag_name('h1')
content = driver.find_element_by_class_name('content')
content = driver.find_element_by_css_selector('p.content')
3.等待
有的时候元素的出现需要等待一段时间,等元素加载完成后才开始进行下一步的操作,或者为了防止操作过于频繁,这个时候就需要用到等待了
显示等待
driver = webdriver.Firefox()
driver.get("http://somedomain/url_that_delays_loading")
try:
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "myDynamicElement"))
)
上面这种情况就是等待ID为"myDynamicElement"的出现,如果等待10秒后没有出现,那么就报异常
隐示等待
隐式等待在执行动作或者定位元素之前,为浏览器对象创建一个等待时间,期间会一直刷新页面去寻找我们需要的元素
driver.implicitly_wait(10)
driver.find_element_by_name().send_keys()
上述这段代码为等待10秒
显示等待与隐式等待的区别?
显示等待为有条件的等待
隐式等待为没有条件的等待
也就是显示等待会判断某个元素有没有满足我们的要求,也就是能不能定位,能不能可视化,而隐式等待适用于整个页面的元素有没有出现
好了, 有了这上面的应该就够用了,其他的可以找selenium的API来查找,链接如下selenium-python文档