与网页互动– Selenium Python

2021年3月9日16:24:11 发表评论 1,070 次浏览

本文概述

Selenium的Python模块旨在通过Python执行自动测试。 Selenium Python绑定提供了一个简单的API, 可以使用Selenium WebDriver编写功能/验收测试。要使用Selenium Python打开网页, 请结帐–

使用get方法导航链接– Selenium Python

。能够去某个地方并不是很有用。我们真正想要做的是与页面(或更具体地说, 页面内的HTML元素)进行交互。首先, 我们需要找到一个。 WebDriver提供了多种查找元素的方法。例如, 给定一个定义为的元素:

html

< input type = "text" name = "passwd" id = "passwd-id" />

要查找元素, 需要使用一种定位策略, 例如,

element = driver.find_element_by_id("passwd-id")
element = driver.find_element_by_name("passwd")
element = driver.find_element_by_xpath("//input[@id='passwd-id']")

此外, 要查找多个元素, 我们可以使用–

elements = driver.find_elements_by_name("passwd")

也可以通过其文字查找链接, 但要小心!文字必须完全匹配!在WebDriver中使用XPATH时, 也应格外小心。如果有多个与查询匹配的元素, 则仅返回第一个。如果什么都找不到, 将引发NoSuchElementException。

WebDriver有一个

"基于对象"的API

, 我们使用相同的界面表示所有类型的元素。这意味着, 尽管人们可能会遇到很多可能的方法, 但是当人们按下IDE的自动完成键组合时, 它们可能会被调用, 但并不是所有的方法都有意义或有效。要检查所有方法, 请结帐

定位器策略– Selenium Python

那么获得元素之后下一步呢?例如, 你可能想在字段中输入文本,

element.send_keys("some text")

可以使用" Keys"类来模拟按箭头键:

element.send_keys(" and some", Keys.ARROW_DOWN)

另请注意, 可以在任何元素上调用send_keys, 从而可以测试键盘快捷键, 例如Gmail上使用的快捷键。

可以使用clear方法轻松清除文本字段或文本区域的内容:

element.clear()

项目实例–

让我们尝试在lsbin自动搜索一些内容

程序–

Python3

# import webdriver
from selenium import webdriver
 
# create webdriver object
driver = webdriver.Firefox()
 
 
# get lsbin.org
driver.get( "https://www.lsbin.com/" )
 
# get element
element = driver.find_element_by_id( "gsc-i-id1" )
 
# send keys
element.send_keys( "Arrays" )

输出-

与网页硒Python交互

注意怪胎!巩固你的基础Python编程基础课程和学习基础知识。

首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。


木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: