概述
SourceCode:
from selenium import webdriver
import time
driver = webdriver.Chrome("G:/tool/chromedriver_win32/chromedriver")
# 设置浏览器要打开的url
driver.get("http://www.baidu.com")
# 打印网页的title
print(driver.title)
# 在百度搜索框中输入关键字"selenium",
# 网页元素:"<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">"
driver.find_element_by_id("kw").send_keys("selenium")
# 单击搜索框按钮
# 网页元素:<input type="submit" id="su" value="百度一下" class="bg s_btn">
driver.find_element_by_id("su").click()
time.sleep(1)
# 找到selenium官网的链接,并点击进入
element_target = driver.find_element_by_xpath('//*[contains(text(), "automates browsers")]')
element_target.click()
time.sleep(10)
# 页面大小控制:先最大尺寸后更改位800*720
driver.maximize_window()
time.sleep(3)
driver.set_window_size(800, 720)
time.sleep(3)
# 关闭当前网页tab
driver.close()
# 关闭浏览器
driver.quit()
WebDriver介绍
作用:WebDriver是 HTTP API和定义了语言无关接口的protocol,可以用于控制web browsers的行为
Chrom的webdriver:https://chromedriver.chromium.org/
firefox的webdriver:https://github.com/mozilla/geckodriver
webdriver的路径应该保存在PATH中,便于自动查找;也可在代码中直接指定webdriver所在路径:
driver = webdriver.Chrome('/path/to/chromedriver')
Notice:注意路径使用斜杠"/",使用反斜杠""会产生路径错误的异常
路径中使用斜杠/和反斜杠的区别:https://blog.csdn.net/xiaouncle/article/details/52812775
Selenium介绍
Selenium支持web browsers的自动化,用于网页自动化测试和自动化处理任务,是一系列工具和库的总体项目;Selenium是直接驱动浏览器,不是模拟,几乎不会被反爬工具检测到
查找element的API:
find_element_by_id("id_vaule") // 根据ID进行定位
find_element_by_name("name_vaule") // 根据name定位
find_element_by_class_name("class_name_vaule") // 根据class名定位
find_element_by_tag_name("input") // 根据标签定位
find_element_by_link_text("登录") // 根据链接文本定位
find_element_by_partial_link_text("部分text_vaule") // 通过link文字模糊定位元素
find_element_by_css_selector("input") //通过标签名定位 find_element_by_xpath("//*[@id='kw']") // 使用xpath定位
页面操作API:
driver.send_keys('Hello') // 向文本框架中输入文本
driver.back() //回到上一个页面 driver.forward() //切换到下一个页面
driver.maximize_window() // 将浏览器最大化
driver.set_window_size(800, 720) //设置窗口大小为800*720
driver.get_screenshot_as_file("D:/data/test.png") 屏幕截图保存为*** driver.refresh() //重新加载页面,页面刷新
driver.close() //关闭当前页面 driver.quit() //关闭所有由当前测试脚本打开的页面
XPath介绍
XPath是一种在XML文档中定位元素的语言。因为HTML可以看做XML的一种实现,所以selenium用户可是使用这种强大语言在web应用中定位元素。xpath也可以通过元素的各种属性定位到元素
Xpath的函数:
contains(haystack, needle) // 判断string变量haystack中是否包含needle指定的string
text() // 返回元素中的文本
参考:
- 用python操作浏览器的三种方式:https://cloud.tencent.com/developer/article/1566039
- XPath语法:https://www.w3schools.com/xml/xpath_syntax.asp
XPath functions: https://developer.mozilla.org/en-US/docs/Web/XPath/Functions - Selenium tour:https://www.selenium.dev/documentation/en/getting_started_with_webdriver/
最后
以上就是清秀戒指为你收集整理的使用Selenium自动操作浏览器的全部内容,希望文章能够帮你解决使用Selenium自动操作浏览器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复