Selenium库

通过python打开一个模拟浏览器,并自动访问百度首页

from selenium import webdriver
browser=webdriver.Chrome()
browser.get('https://www.baidu.com/')

获取网页源代码

from selenium import webdriver
browser=webdriver.Chrome()
browser.get('https://www.baidu.com/')
#获取网页源代码
data=browser.page_source

关闭模拟浏览器:browser.quit()

定位网页元素:

(1)XPath法

XPath可以理解为网页元素的名字或ID

find_element_by_xpath()函数可根据XPath表达式定位网页元素

语法:browser.find_element_by_xpath('XPath表达式')

示例:

browser.find_element_by_xpath('//*[@id="kw"]').send_keys('python')
定位到搜索框,再用.send_keys('python')就可以模拟在搜索框里输入“Python”的效果

如果搜索框里有默认文本,可使用 .clear()清空默认文本。

模拟定位“百度一下”按钮:

browser.find_element_by_xpath('//*[@id="su"]').click()

用 .click()实现点击

(2)CSS选择器

find_element_by_css_selector('CSS选择器')

“Copy>Copy selector”命令即可复制CSS选择器。

输入和点击与XPath相同:.send_keys()和.click()

无界面浏览器模式:

运行代码时不弹出模拟浏览器窗口,就要启用无界面浏览器(Chrome Headless)模式。

把browser=webdriver.Chrome()替换成如下:

chrome_options=webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
browser=webdriver.Chrome(options=chrome_options)

其他:

handles=browser.window_handles #获取浏览器所有窗口的句柄
browser.switch_to.window(handle[0])  #切换到第一个窗口,即最开始打开的窗口
browser.switch_to.window(handles[-1])  #切换到倒数第一个窗口,即最新打开的窗口

控制滚动条滚动:

#滚动1个页面高度的距离
browser.execute_script('window.scrollTo(0,document.body.scrollHeight)')
#从最顶端向下滚动60000像素的距离,通常就是滚动到页面底部了
browser.execute_script('document.documentElement.scrollTop=60000')

id属性类似于身份证号,一个网页中各个元素的id属性一般不会重复,因此,可以用这个<div>标签作为一个强定位条件。

1. 先了解Selenium的基本知识 Selenium是一个用于Web应用程序测试的工具,它可以模拟用户在Web页面上的各种操作,如点击、填写表单、上传文件等。在学习Selenium之前,建议先了解基本的Web开发知识,包括HTML、CSS、JavaScript等等。 2. 安装并配置好Selenium 在Python中使用Selenium,首先需要安装Selenium和一个浏览器的WebDriver驱动程序。这个驱动程序的作用是在代码中操作浏览器,模拟各种行为。要了解如何安装和配置,请查看Selenium的官方文档。 3. 学习Selenium的API文档 Selenium提供了各种API方法,用于模拟各种用户行为。在学习Selenium时,首先要学习Selenium的API文档,了解每个方法的用法、参数和返回值。熟悉这些API可以帮助你编写更加有效的代码。 4. 编写测试脚本并练习 学习Selenium最好的方法是编写测试脚本并练习。可以制定一些测试用例,然后用Selenium编写自动化测试脚本。在编写代码时,要注重代码的可读性和可维护性,尽量写出简洁清晰的代码。 5. 参考文档和社区 Selenium有很多优秀的学习资源和社区,可以在这些资源中学到更多的知识和技巧。建议多查看Selenium官方文档、Selenium Webdriver Guide、stackoverflow等社区,了解Selenium的一些最佳实践。通过这些资源,可以更快地了解Selenium,并且在使用Selenium时遇到问题时可以得到帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值