selenium学习--打开网站以及选择元素

打开网站

导入: from selenium import webdriver

获取浏览器对象: webdriver.Chrome()

打开某个网站:ob.get("url")

为了防止网站打开之后闪退,可以添加input()语句防止其立刻结束

from selenium import webdriver

if __name__ == '__main__':
    driver = webdriver.Chrome()  # 获取浏览器对象
    driver.get("https://hao.360.com/?src=lm&ls=n45b567d89e")
    input()  # 防止立刻结束

选择元素

from selenium import webdriver
from selenium.webdriver.common.by import By

主要有以下四种方法:

根据id选择元素

根据元素属性选择元素

根据元素的标签名选择元素

根据WebElement选择对象

根据id选择元素

ob.find_element(By.ID, "id名称"), 该方法找不到会抛出异常

ob.find_elements(By.ID, "id名称"), 该方法返回一个列表,存放各个元素,找不到返回[]

根据元素属性选择元素

ob.find_element(By.CLASS_NAME, "属性名称"), 该方法找不到会抛出异常

ob.find_elements(By.CLASS_NAME, "属性名称"), 该方法返回一个列表,存放各个元素,找不到返回[]

根据元素的标签名选择元素

ob.find_element(By.TAG_NAME, "标签名称"), 该方法找不到会抛出异常

ob.find_elements(By.TAG_NAME, "标签名称"), 该方法返回一个列表,存放各个元素,找不到返回[]

根据WebElement选择对象

find_element方法返回一个WebElement对象,该对象同样可以调用find_element或find_elements方法,通过上述三种方式定位其内部元素。

代码:

from selenium import webdriver
from selenium.webdriver.common.by import By

"""打开网页"""
# 创建 WebDriver 对象
wd = webdriver.Chrome()
# 调用WebDriver 对象的get方法 可以让浏览器打开指定网址
wd.get('https://www.byhy.net/_files/stock1.html')
"""选择元素"""
# 根据id选择元素,返回的就是该元素对应的WebElement对象
try:
    element = wd.find_element(By.ID, "kw")  # 找第一个元素id为kw的, 若找不到,则抛出异常
except Exception:
    print("没有该id")
element.send_keys("通讯")  # \n代表进行搜索
element = wd.find_element(By.ID, "go")
element.click()  # 点击操作

# 根据元素的属性选择元素
wd.get("https://cdn2.byhy.net/files/selenium/sample1.html")
elements = wd.find_elements(By.CLASS_NAME, "anaaaimals")  # 找到所有满足条件的元素,放入列表
if len(elements) == 0:  # 没有找到会返回空列表
    print("没有该类")
else:
    for e in elements:
        print(e.text)  # 显示元素的文本内容

"""
find_element 与 find_elements区别:后者找所有,前者找第一个
如果没有,elements返回空列表,element抛出异常
"""

# 根据元素的标签名选择元素
elements = wd.find_elements(By.TAG_NAME, "span")
for e in elements:  # 每个e是webelement对象
    print(e.text)

# 根据WebElement选择对象,找的范围是某个元素的内部, WebDriver找的范围是整个页面
element = wd.find_element(By.ID, "container")  # 寻找对象
spans = element.find_elements(By.TAG_NAME, "span")
for span in spans:
    print(span.text)
input()

程序运行结果:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python Selenium 是一个广泛用于自动化浏览器操作的库,特别适合Web应用程序的测试和数据抓取。学习 Python Selenium 的一般步骤如下: 1. **基础 Python 学习**: - 熟悉 Python 语言的基本语法、数据类型、控制结构、函数等。 2. **HTML/CSS/JavaScript 基础**: - 对前端开发语言有一定了解,因为 Selenium 主要与网页交互,理解 DOM 和 JavaScript 是关键。 3. **安装 Selenium**: - 安装最新版本的 Python(推荐使用 Python 3)和 Selenium 库。可以通过 pip install selenium 安装。 4. **选择浏览器驱动**: - 选择支持的浏览器(如 Chrome、Firefox 或 Edge),下载对应的 WebDriver(比如 geckodriver、chromedriver)并添加到系统路径中。 5. **Selenium API 探索**: - 学习 Selenium 的核心类如 webdriver, webdriver.Chrome(), WebElement, By 等,以及常用的定位方法(如 find_element_by_id, find_elements_by_xpath 等)。 6. **基础实践**: - 编写简单的脚本,如打开页面、填写表单、点击按钮、模拟用户行为等。 7. **复杂功能与框架结合**: - 学习如何处理页面加载、等待元素出现、处理异步请求、使用 Selenide、Playwright 等高级工具。 8. **测试和调试**: - 学习如何编写测试用例,使用断言来验证操作结果,以及如何处理异常和错误。 9. **性能优化**: - 学习如何提高脚本执行效率,如使用 WebDriverWait 代替 sleep,使用 Chrome Headless 等。 10. **实战项目**: - 进行实际的项目练习,例如爬虫、自动化测试或持续集成/持续部署 (CI/CD)。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值