爬虫之selenium的使用

本文详细介绍了如何安装Selenium和ChromeDriver,并提供了基本的使用教程,包括元素定位、等待策略等内容,适合初学者快速上手。

驱动的安装:

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文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值