English 中文(简体)
Selenium WebDriver - Quick Guide
  • 时间:2024-03-21 11:45:24

Selenium Webdriver - Quick Guide


Previous Page Next Page  

Selenium Webdriver - Introduction

浏览器是检测申请前端和在浏览器上执行任务的有力工具。 可以采用多种方案语言,如:沙捞越、 Java、C#、Java等。

含沙尘的ium比较容易理解,在ver中则很短。 可在沙尔获得的APICES使我们能够利用Selenium与浏览器建立联系。 含沙尘的ium比较容易理解,在ver中则很短。 可在沙尔获得的APICES使我们能够利用Selenium与浏览器建立联系。

硫化物提供各种用于为 Chrome、IE和E等不同的浏览器制造检测的甲型六氯环己烷。 它可以在Windows、Mac、Libert等各种平台上使用。

Reasons to learn Selenium with Python

    在方案拟订方面,甲壳更容易学习和契约。

    在与 Java的Selenium进行测试时,我们必须注意开始和结束的图书馆。 在沙尔,只需要照顾戒律。

    在Selenium开发的含有甲 Python的试验比在 Java写的更快。

Reasons to learn Selenium Webdriver

学习Selenium Webdriver的原因如下:

    它是一个开放的来源,没有任何许可证费用。

    它可以采取 mo和键盘行动,如rag和 drop、主要压力、点击和搁置等。

    它有一个非常友好的促动人。

    它可以与测试与Junnit等框架相结合,建立诸如Maven等工具,如Jenkins等持续融合工具。

    它得到巨大的社区支持。

    它可以以无头寸铁的方式执行试验。

Selenium Webdriver - Installation

可在沙尔山安装和安装网幕器,其步骤如下:

http://www.python.org/downloads/>。

Download Python

可在我们的系统中下载Sharma的可起诉档案。 在点击时,应当发射Sharma安装页。

Install Python

Step 4 > >,应在以下道路上下载:

C:Users<User>AppData LocalProgramsPythonPython<version>

Step 5——对Windows用户来说,我们必须没收环境变数中沙捞越和代谢(在 Python里加固)的双倍。

Scripts Folder

如果成功安装了“灰色”——执行指挥系统,则检查是否成功。 灰色版本应当展示。

Step 7——对装饰装置而言,指挥系统如下:


pip install selenium.

Step 8——现在应在粉碎箱内产生一个叫做Selenium的新夹。 升级至最新硫化物,指挥如下:


pip install --U selenium.

核查是否妥善安装了ium,执行下文所述的指挥系统。


pip show Selenium.

Step 10——下面,我们必须从以下链接下载称作PyCharm的Zehur编辑——

http://www.jetbrains.com/pycharm/>。

Step 11——下载Cpck。

Pycharm

Step 12-For Selenium webdriver in-030, 点击下载纽顿,低于社区版本(免费使用)。

Download Pycharm.jpg

Step 13——在安装了PyCharm之后,我们必须从文件-->、新项目-和Give a Project name, 即Python Project 创建新项目。 然后点击Create

我们必须就我们在斯捷潘13创建的新项目建立一个右翼飞机的灰色包装,点击新选择的沙尔包。 采用一揽子名称,即《硫化试验》和进行。

Selenium Test and Proceed

我们必须在步骤14中建立的新包裹上打上右翼的浮标语,点击新陈代谢。 采用一揽子名称,即测试1.py,然后处理。

Python File

在我们的项目中观看含硫产品,点击外部图书馆,然后扩大现场包装。

Site Packages Folder

Selenium Webdriver - Browser Navigation

我们可以在沙伦ium在沙尔富尔的网上浏览器的帮助下,开放浏览器和浏览器。 这种做法得到这种方法的帮助。 在使测试自动化的同时,我们创建的第一步是用URL启动申请。

The syntax of Selenium Webdriver is as follows -


driver.get("<url>")
driver.get("https://www.tutorialspoint.com/index.htm")

要想找到一种方法,网络用户等到网页完全装满后才能进入下一步。 如果我们试图启用一个网页,上面有众多美国宇宙航空研究开发机构的电话,那么当网页完全装满时,网上用户就不知道。

为了解决这个问题,我们必须在法典中规定等待。

Code Implementation

se网络用户的代码实施如下:


from selenium import webdriver
#set chromedriver.exe path
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#url launch
driver.get("https://www.tutorialspoint.com/questions/index.php")
#get page title
print( Page title:   + driver.title)
#quit browser
driver.quit()

Output

Process with Exit Code

产出显示信息——有退出代码的程序。 0. 这意味着,上述沙捞法成功执行。 另外,申请的页标题(从司机处获得)。 标题方法——最佳技术问题及答案在册。

Selenium Webdriver - Identify Single Element

一旦我们浏览一个网页,我们就不得不与网页上的现有内容进行互动,例如点击连接/布顿,进入一个信箱内的案文,从而完成我们的自动化测试。

By Id

为此,我们的首要任务是确定这一要素。 我们可以使用背后特性确定身份要素,并使用这种方法发现_element_by_id。 之后,第一个与属性补贴的配对价值相配的元素被退回。

如果没有与补贴金额相匹配的成分,则不得thrown。

识别要素的意想x如下:


driver.find_element_by_id("value of id attribute")

让我们看一看一个网络要素的html代码——

By Id

上述图像中强调的ed盒具有价值格西-伊-id1的特性。 让我们在发现这一ed子后,设法将一些案文输入到该盒中。

Code Implementation

确定网络要素的编码执行如下:


from selenium import webdriver
#set chromedriver.exe path
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#url launch
driver.get("https://www.tutorialspoint.com/index.htm")
#identify edit box with id
l = driver.find_element_by_id( gsc-i-id1 )
#input text
l.send_keys( Selenium )
#obtain value entered
v = l.get_attribute( value )
print( Value entered:   + v)
#driver quit
driver.quit()

Output

Chrome Driver

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 另外,在ed箱内(从 get子手法中找到)所输入的价值——ium在ole子上印刷。

By Name

一旦我们浏览一个网页,我们就不得不与网页上的现有内容进行互动,例如点击连接/布顿,进入一个信箱内的案文,从而完成我们的自动化测试。

为此,我们的首要任务是确定这一要素。 我们可以使用名称特征作为识别要素,并利用方法发现_element_by_name。 之后,第一个与属性名称的配对价值相匹配的内容被退回。

如果名称属性没有对应值,则不得thrown。

www.un.org/Depts/DGACM/index_french.htm


driver.find_element_by_name("value of name attribute")

让我们看见以下的《html》网络内容。

By Name

上述图像中强调的编辑箱有一个名称特征,可检索价值。 让我们在发现这一ed子后,设法将一些案文输入到该盒中。

Code Implementation

按名称列出单一要素的编码执行如下:


from selenium import webdriver
#set chromedriver.exe path
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#url launch
driver.get("https://www.tutorialspoint.com/index.htm")
#identify edit box with name
l = driver.find_element_by_name( search )
#input text
l.send_keys( Selenium Java )
#obtain value entered
v = l.get_attribute( value )
print( Value entered:   + v)
#driver close
driver.close()

Output

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 另外,在ed子(从硬盘 method法中提取)中输入的价值—— Java在ole子中印刷。

By ClassName

一旦我们浏览一个网页,我们就不得不与网页上的现有内容进行互动,例如点击连接/布顿,进入一个信箱内的案文,从而完成我们的自动化测试。

为此,我们的首要任务是确定这一要素。 我们可以使用该类特性来确认其身份,并利用这种方法发现_element_by_class_name。 之后,归还了与属性类别对应值的第一个要素。

如果没有同级属性相匹配的成分,则不得thrown。

The syntax for identifying inspanidual elements by categoryname is as follows:


driver.find_element_by_class_name("value of class attribute")

让我们看见以下的《html》网络内容。

By ClassName

上述图像中强调的网络要素具有价值标题的类别特性。 让我们在确定这一要素之后,设法获得这一内容的文本。

Code Implementation

按职等分列的确定单一成分的编码如下:


from selenium import webdriver
#set chromedriver.exe path
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#url launch
driver.get("https://www.tutorialspoint.com/about/about_careers.htm")
#identify edit box with class
l = driver.find_element_by_class_name( heading )
#identify text
v = l.text
#text obtained
print( Text is:   + v)
#driver close
driver.close()

Output

By Classname Output

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 此外,网上内容(从文字方法中获取)——“大约有名人”的文字也用在“灯光”上。

By TagName

一旦我们浏览一个网页,我们就必须与网页上的现有网站进行互动,例如点击连接/布顿,进入一个信箱内的案文,从而完成我们的自动化测试。

为此,我们的首要任务是确定这一要素。 我们可以使用标签作为识别要素,并利用这种方法发现_element_by_tag_name。 之后,与对应标的首个要素被退回。

如果与对应的标签没有任何内容,则不得thrown。

The syntax for identifying inspanidual elements by Tagname is as:


driver.find_element_by_tag_name("tagname of element")

让我们看见以下的《html》网络内容。

By TagName

上述图像中强调的ed子有标签——投入。 让我们在发现这一ed子后,设法将一些案文输入到该盒中。

Code Implementation

以塔格名称确定单一要素的守则执行情况如下:


from selenium import webdriver
#set chromedriver.exe path
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#url launch
driver.get("https://www.tutorialspoint.com/index.htm")
#identify edit box with tagname
l = driver.find_element_by_tag_name( input )
#input text
l.send_keys( Selenium Python )
#obtain value entered
v = l.get_attribute( value )
print( Value entered:   + v)
#driver close
driver.close()

Output

By TagName Output

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 另外,在ed箱内(从硬盘 method法中获取)所输入的价值——Selenium compounds在 con子中印刷。

By Link Text

一旦我们浏览一个网页,我们就可以通过点击一个链接来完成我们的自动化测试。 链接案文用于一个具有主轴的元件。

为此,我们的首要任务是确定这一要素。 我们可以使用联系案文赋予其身份要素,并利用这一方法找到_element_by_pnk_text。 由此,第一个与特定链接文本的配对价值相符的内容被退回。

如果与链接文本的对应价值没有关联要素,则不得thrown。

syntax,用于通过链接文本确定单一要素如下:


driver.find_element_by_pnk_text("value of pnk text")

让我们看见以下的《html》网络内容。

By Link Text

上述图像中强调的链接有标签——一种和链接文本——隐私政策。 让我们在查明这一联系后,设法点击这一联系。

Code Implementation

通过链接文本确定单一要素的编码执行如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#url launch
driver.get("https://www.tutorialspoint.com/about/about_careers.htm")
#identify pnk with pnk text
l = driver.find_element_by_pnk_text( Privacy Popcy )
#perform cpck
l.cpck()
print( Page navigated after cpck:   + driver.title)
#driver quit
driver.quit()

Output

By Link Text Output

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 另外,申请的页标题(从司机处获得)。 标题方法——图兰斯点的隐私政策——图西人点的照片在圣殿上印刷。

By Partial Link Text

一旦我们浏览一个网页,我们就可以通过点击一个链接来完成我们的自动化测试。 部分链接案文用于一个具有主轴的元件。

为此,我们的首要任务是确定这一要素。 我们可以使用部分链接案文,作为确定该文本的一个要素,并利用该方法发现_element_by_partial_pnk_text。 由此,将部分链接案文的对应价值中的第一个要素退还。

如果与部分链接案文的配对价值没有关联,则不得thrown。

The syntax for identifying one content by Partial Link text is as follows -


driver.find_element_by_partial_pnk_text("value of partial ink text")

让我们看见以下的《html》网络内容。

By Partial Link Text

上述图像中强调的链接有标签——部分链接文本——退款。 让我们在查明这一联系后,设法点击这一联系。

Code Implementation

按部分链接案文确定单一要素的编码执行如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#url launch
driver.get("https://www.tutorialspoint.com/about/about_careers.htm")
#identify pnk with partial pnk text
l = driver.find_element_by_partial_pnk_text( Refund )
#perform cpck
l.cpck()
print( Page navigated after cpck:   + driver.title)
#driver quit
driver.quit()

Output

By Partial Link Text Output

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 另外,申请的页标题(从司机处获得)。 标题方法——回归、退款和复读; 免职政策——选民点印在议会。

By CSS Selector

一旦我们浏览一个网页,我们就必须与网页上的现有网站进行互动,例如点击连接/布顿,进入一个信箱内的案文,从而完成我们的自动化测试。

为此,我们的首要任务是确定这一要素。 我们可以为确定其身份而设置一个要素的挑选器,并使用这种方法。 之后,第一个与特定物品的配对价值相匹配的元件被退回。

如果没有元件的配对价值,则不得thrown。

中央支助事务甄选员确定单一要素的辛金如下:


driver.find_element_by_css_selector("value of css")

Rules to create CSS Expression

下文将讨论创建一种表达方式的规则。

    为了用芯片识别该元素,该表述应为标签[价值]。 我们还可以具体利用假名来形成一种表达。

    粗略地说,标语的形式应为标语。 例如,投入编号[如果投入是标的,txt是否定性归属的价值]。

    标语的表述形式应为标签。 班级。 例如,投入。

    如果父母中有一生子女,而且我们要确定哪一个孩子,那么这种表达方式就应该有哪一种类型。

CSS Expression

在上述法典中,如果我们想确定第四种幼童[问答],那么这种表达方式就应当加以表述。 同样,为了确定最后一名儿童,应当表达这些孩子。 阅读:最后孩子。

对于价值观正在动态变化的属性,我们可以使用^=确定某一要素,其属性价值始于某一特定案文。 例如,投入[名称= qa] 在这方面,投入是标的,其名称价值从qa开始。

对于价值观正在动态变化的属性,我们可以使用并使用美元;=确定某一要素,其属性价值以特定案文为目的。 例如,投入[类别和数量;美元;txt] 这里,投入是标签和类别属性价值,以tx告终。

对于价值不断变化的特点,我们可以使用*来确定一个特性价值包含具体次案文的内容。 例如,投入[名称* = nam] 在此,投入是标的,名词的价值包含次案文名称。

让我们看见以下的《html》网络内容。

Web Elements

上述图像中强调的编辑箱有一个名称特征,可进行价值检索,标语应当为投入[名称=搜索]。 让我们在发现这一ed子后,设法将一些案文输入到该盒中。

Code Implementation

安保部甄选人员确定单一要素的守则执行情况如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("https://www.tutorialspoint.com/index.htm")
#identify element with css
l = driver.find_element_by_css_selector("input[name= search ]")
l.send_keys( Selenium Python )
v = l.get_attribute( value )
print( Value entered is:   + v)
#driver quit
driver.quit()

Output

Selenium Python

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 另外,在ed箱内(从硬盘 method法中获取)所输入的价值——Selenium compounds在 con子中印刷。

ByXpath

一旦我们浏览一个网页,我们就必须与网页上的现有网站进行互动,例如点击连接/布顿,进入一个信箱内的案文,从而完成我们的自动化测试。

为此,我们的首要任务是确定这一要素。 我们可以为确定其身份而创造一个要素,并使用这种方法。 由此,第一个与特定xpath的配对值相配的元素被退回。

如果没有与锡帕特的配对值相匹配的因素,则不得thrown。

在Xpath确定单一成分的辛迪加如下:


driver.find_element_by_xpath("value of xpath")

Rules to create Xpath Expression

下文将讨论制作Xpath表述的规则。

    为了确定Xpath的成分,该表述应为/tagname[@attribute=数值]。 可以有两种类型的xpath——相对和绝对。 绝对的xpath从象征/象征开始,从根 no到我们想确定的内容。

例如,


/html/body/span[1]/span/span[1]/a

    相对的Xpath从//文号开始,不从深层开始。

例如,


//img[@alt= tutorialspoint ]

让我们看一看突出联系的《html法典》——从根基开始。

Highpghted Link

这一要素的绝对标准如下:


/html/body/span[1]/span/span[1]/a.

部分住宅的相对食堂如下:


//a[@title= TutorialsPoint - Home ].
Home Tab

Functions

还有一些职能有助于制定相对的Xpath表述。

text(

用来确定一个内容及其可见的文本。 x的表述如下:


//*[text()= Home ].
Functions

start- with

它用来确定一个要素,其属性价值始于具体案文。 这一功能通常用于每一页负荷价值变化的特性。

让我们看到Q/A链接的html。

Xpath Expression

x应表述如下:


//a[starts-with(@title,  Questions & )].
Starts With

contains(

它确定了一个要素,其属性价值包含一个次案文。 这一功能通常用于每一页负荷价值变化的特性。

x的表述如下:


//a[contains(@title,  Questions & Answers )].
Contains

让我们看一看《html》的网络版,如下文所示。

Edit Box Highpghted

上述图像中强调的编辑箱有一个名称特征,有价值搜索,Xpath表述应为//input[@name=搜索]。 让我们在发现这一ed子后,设法将一些案文输入到该盒中。

Code Implementation

《刑法》对XPath确定单一要素的执行情况如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("https://www.tutorialspoint.com/index.htm")
#identify element with xpath
l = driver.find_element_by_xpath("//input[@name= search ]")
l.send_keys( Selenium Python )
v = l.get_attribute( value )
print( Value entered is:   + v)
#driver quit
driver.quit()

Output

Console

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 另外,在ed箱内(从硬盘 method法中获取)所输入的价值——Selenium compounds在 con子中印刷。

Selenium Webdriver - Identify Multiple Elements

在本章中,我们将学习如何通过各种选择确定多个要素。 让我们首先了解Id确定多个要素。

By id

所在地人不建议确定多个要素,因为补贴的价值是某一要素所独有的,适用于页上的一个单一要素。

By Class name

一旦我们浏览一个网页,我们就必须与网页上的现有网站进行互动,例如点击连接/布顿,进入一个信箱内的案文,从而完成我们的自动化测试。

为此,我们的首要工作是确定这些要素。 我们可以使用该类特性来确认这些要素,并利用这一方法找到_elements_by_class_name。 因此,所有与属性类别对应值的成分均以清单形式退还。

如果不存在与类别属性相匹配的价值相匹配的因素,应退还一份空档清单。

The syntax for identifying multi elements by categoryname is as follows -


driver.find_elements_by_class_name("value of class attribute")

让我们看一看《html》中给出的等级归属的名人。

Toc Chapters

上述形象中强调的阶级特性的价值是各章。 让我们努力计算这种网站的数量。

Code Implementation

按职等分列的确定多个要素的法规执行情况如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("https://www.tutorialspoint.com/about/about_careers.htm")
#identify elements with class attribute
l = driver.find_elements_by_class_name("chapters")
#count elements
s = len(l)
print( Count is: )
print(s)
#driver quit
driver.quit()

Output

By Class Name

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 此外,具有类别属性价值章节(从透镜中获取)的网络域名总数——2个在ole中印刷。

By Tagname

一旦我们浏览一个网页,我们就必须与网页上的现有网站进行互动,例如点击连接/布顿,进入一个信箱内的案文,从而完成我们的自动化测试。

为此,我们的首要工作是确定这些要素。 我们可以使用标签来确认这些要素,并利用这一方法找到_elements_by_tag_name。 因此,标的对应值的所有要素都以清单形式重新列出。

如果没有标的对应值要素,应退还一份空档清单。

The syntax for identifying multi elements by Tagname is as follows -


driver.find_elements_by_tag_name("value of tagname")

让我们看一看《html》的网络版,其内容如下:

By Tagname browser

上述图像中强调的标签价值为 h4。 让我们努力计算点数,点数为四。

Code Implementation

用塔格罗名称确定多个要素的守则执行如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("https://www.tutorialspoint.com/index.htm")
#identify elements with tagname
l = driver.find_elements_by_tag_name("h4")
#count elements
s = len(l)
print( Count is: )
print(s)
#driver quit
driver.quit()

Output

Python Codes

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 此外,标号为h4(从透镜中提取)的网点总数——1个在ole中印刷。

By Partial Link Text

一旦我们浏览一个网页,我们就可能不得不通过点击一个链接来完成我们的自动化测试。 部分链接案文用于有主线的元件。

为此,我们的首要工作是确定这些要素。 我们可以使用部分链接文字描述其身份识别要素,并将方法的识别方法推算成“埃比_partial_pnk_text”。 因此,以清单形式归还了部分链接案文的对应价值的所有要素。

如果部分链接案文没有对应价值的内容,应退还一份空档清单。

The syntax for identifying multi elements by Partial Link text is as follows -


driver.find_elements_by_partial_pnk_text("value of partial pnk text")

让我们看见以下的《html联系法》:

Terms of Use

重点提到的链接——上述图像中的使用术语有标签——部分链接文本——术语。 让我们在确定案文后努力确定案文。

Code Implementation

按部分链接案文确定多个要素的守则执行如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("https://www.tutorialspoint.com/about/about_careers.htm")
#identify elements with partial pnk text
l = driver.find_elements_by_partial_pnk_text( Terms )
#count elements
s = len(l)
#iterate through pst
for i in l:
#obtain text
   t = i.text
print( Text is:   + t)
#driver quit
driver.quit()

Output

Printed in Console

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 此外,与部分链接文本定位器(从文字方法中找到)所查明的链接文本——使用术语在奥索尔印刷。

By Link Text

一旦我们浏览一个网页,我们就可能不得不通过点击一个链接来完成我们的自动化测试。 链接案文用于有主轴的元件。

为此,我们的首要工作是确定这些要素。 我们可以使用联系案文赋予其身份要素,并利用这一方法找到_elements_by_pnk_text。 因此,所有与特定链接文本对应值的内容均以清单形式重新列出。

如果没有任何内容与链接文本的对应价值相符,则应退还一份空档清单。

The syntax for identifying multi elements by Link text is as follows -


driver.find_elements_by_pnk_text("value of pnk text")

让我们看见以下的《html联系法》:

Cookies Popcy

重点提到的链接――上述图像中的库克群岛政策具有标签――联系文本――库克群岛政策。 让我们在确定案文后努力确定案文。

Code Implementation

通过链接文本确定多个要素的守则执行如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("https://www.tutorialspoint.com/about/about_careers.htm")
#identify elements with pnk text
l = driver.find_elements_by_pnk_text( Cookies Popcy )
#count elements
s = len(l)
#iterate through pst
for i in l:
#obtain text
   t = i.text
print( Text is:   + t)
#driver quit
driver.quit()

Output

By Link Text Outputs

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 此外,与链接文本定位器(从文字方法中找到)所查明的联系文本——库克群岛政策在奥索尔印刷。

By Name

一旦我们浏览一个网页,我们就必须与网页上的现有网站进行互动,例如点击连接/布顿,进入一个信箱内的案文,从而完成我们的自动化测试。

为此,我们的首要工作是确定这些要素。 我们可以使用识别要素的名称,并利用这种方法找到“名人——姓名”。 因此,以名单形式归还属地名称相应值的要素。

如果姓名属性没有对应值,应退还一份空档清单。

The syntax for identifying multi elements by name is as follows -


driver.find_elements_by_name("value of name attribute")

让我们看一看《html》的网络版,其内容如下:

By Name Browser

上述图像中强调的编辑箱有一个名称特征,可检索价值。 让我们在发现这一ed子后,设法将一些案文输入到该盒中。

Code Implementation

按姓名确定多个要素的守则执行如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("https://www.tutorialspoint.com/index.htm")
#identify elements with name attribute
l = driver.find_elements_by_name( search )
#count elements
s = len(l)
#iterate through pst
for i in l:
#obtain text
   t = i.send_keys( Selenium Python )
   v = i.get_attribute( value )
print( Value entered is:   + v)
#driver quit
driver.quit()

Output

Selenium Python gets Printed

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 另外,在ed箱内(从硬盘 method法中获取)所输入的价值——Selenium compounds在 con子中印刷。

By CSS Selector

一旦我们浏览一个网页,我们就必须与网页上的现有网站进行互动,例如点击连接/布顿,进入一个信箱内的案文,从而完成我们的自动化测试。

为此,我们的首要工作是确定这些要素。 我们可以为他们的身份建立一套挑选器,并利用这一方法找到——从_css_selector。 因此,以清单形式归还了特定物品的配对价值。

如果没有元件的配对价值,应退还一份空置清单。

Csyntax,用于识别CSS的多个要素 选择如下:


driver.find_elements_by_css_selector("value of css")

Rules for CSS Expression

下文将讨论创建一种表达方式的规则。 −

    为了用芯片识别该元素,该表述应为标签[价值]。 我们还可以具体利用假名来形成一种表达。

    粗略地说,标语的形式应为标语。 例如,投入编号[如果投入是标的,txt是否定性归属的价值]。

    With class, the format of css expression should be tagname.class . 例如, input.cls-txt [here input is the tagname and the cls-txt is the value of the class attribute].

    如果父母中有一生子女,而且我们要确定哪一个孩子,那么这种表达方式就应该有哪一种类型。

Rules to Create CSS Expression

在上述法典中,如果我们想确定第4个子女[问答],那么这种表达方式就应当加以表述。 同样,为了确定最后一名儿童,应当表达这些孩子。 阅读:最后孩子。

For attributes whose values are dynamically changing, we can use ^= to locate an element whose attribute value starts with a particular text. 例如, input[name^= qa ] [here input is the tagname and the value of the name attribute starts with qa].

对于价值观正在动态变化的属性,我们可以使用并使用美元;=确定某一要素,其属性价值以特定案文为目的。 例如,投入[类别和数量;美元;txt] 这里,投入是标签和类别属性价值,以tx告终。

对于价值不断变化的特点,我们可以使用*来确定一个特性价值包含具体次案文的内容。 例如,投入[名称* = nam] 在此,投入是标的,名词的价值包含次案文名称。

让我们看看一下《html》的网络内容。

Rules of CSS Expression

上述图像中强调的编辑箱有一个名称特征,可进行价值检索,标语应当为投入[名称=搜索]。 让我们在发现这一ed子后,设法将一些案文输入到该盒中。

Code Implementation

捷克统计局甄选人员确定多个要素的守则执行如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("https://www.tutorialspoint.com/index.htm")
#identify elements with css
l = driver.find_elements_by_css_selector("input[name= search ]")
#count elements
s = len(l)
#iterate through pst
for i in l:
#obtain text
   t = i.send_keys( Tutorialspoint )
   v = i.get_attribute( value )
print( Value entered is:   + v)
#driver quit
driver.quit()

Output

Python Tutorialspoint

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 另外,在编辑箱内(从硬盘式手法中找到)输入的价值——图西里点在议会中印刷。

By Xpath

一旦我们浏览一个网页,我们就必须与网页上的现有网站进行互动,例如点击连接/布顿,进入一个信箱内的案文,从而完成我们的自动化测试。

为此,我们的首要工作是确定这些要素。 我们可以为他们的身份打造一个Xpath,并利用这一方法找到——比_xpath。 因此,以清单形式归还了特定xpath的配对值。

如果没有子宫对应值的成分,应退还一份空洞清单。

The syntax for identifying multi elements by Xpath is as:


driver.find_elements_by_xpath("value of xpath")

Rules for Xpath Expression

下文将讨论制作Xpath表述的规则。

    为了确定Xpath的成分,该表述应为/tagname[@attribute=数值]。 可以有两种类型的xpath——相对和绝对。 绝对的xpath从象征/象征开始,从根 no到我们想确定的内容。

例如,


/html/body/span[1]/span/span[1]/a

    相对的Xpath从//文号开始,不从深层开始。

例如,


//img[@alt= tutorialspoint ]

让我们看一看突出联系的《html法典》——从根基开始。

Home Starting

单元之家的绝对标准如下:


/html/body/span[1]/span/span[1]/a.
Absolute Xpath

部分住宅的相对食堂如下:


//a[@title= TutorialsPoint - Home ].
Relative Xpath

Functions

还有一些职能可以帮助确定相对的Xpa表示——

text(

It is used to identify an element with the help of the visible text on the page. x的表述如下:


//*[text()= Home ].
Text

start- with

它用来确定一个要素,其属性价值始于具体案文。 这一功能通常用于每一页负荷价值变化的特性。

让我们看Q/A要素的html——

Attribute Value

x应表述如下:


//a[starts-with(@title,  Questions & )].
Console Output

contains(

它确定了一个要素,其属性价值包含一个次案文。 这一功能通常用于每一页负荷价值变化的特性。

x的表述如下:


//a[contains(@title,  Questions & Answers )].
Contains QA

让我们看看一下《html》的网络内容。

HTML Code of Webelement

上述图像中强调的编辑箱有一个名称特征,有价值搜索,Xpath表述应为//input[@name=搜索]。 让我们在发现这一ed子后,设法将一些案文输入到该盒中。

Code Implementation

在Xpath确定多个要素的法典实施如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("https://www.tutorialspoint.com/index.htm")
#identify elements with xpath
l = driver.find_elements_by_xpath("//input[@name= search ]")
#count elements
s = len(l)
#iterate through pst
for i in l:
#obtain text
   t = i.send_keys( Tutorialspoint - Selenium )
   v = i.get_attribute( value )
print( Value entered is:   + v)
#driver quit
driver.quit()

Output

Selenium gets Printed

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 另外,在ed箱(从 get子手法中提取)中输入的价值——图西里点——ium在ole子中印刷。

Selenium Webdriver - Exppcit and Imppcit Wait

让我们理解,在塞伦堡网络繁荣者中,什么是明确的等待。

Exppcit Wait

明确等待,指示网络用户在转向自动化文字的其他步骤之前等待特定情况。

采用网络司机Wait班以及预期目标进行合法等待。 预期的“conditions”类别有一组预设条件,与网络司机Wait课程一起使用。

Pre-built Conditions

预设条件以及网络驱动器Wait课程如下:

    警惕性

    部分——选举——国家

    * E/CN.6/2009/1。

    构成部分1:分配——待定

    案文_to_be_present_in_element

    案文_to_be_present_in_element_value

    框架_to_be_ available_and_switch_to_it

    构成部分1:分配——待定

    可见度:

    存在——

    标题

    标题:内容

    可见度

    st

    元件:

    in可见度:

    内容——待定

让我们等到案文——在点击链接时可以找到的小组——小组。

Team Link

Code Implementation

明确等待的法典实施如下:


from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#url launch
driver.get("https://www.tutorialspoint.com/about/about_careers.htm")
#identify element
l = driver.find_element_by_pnk_text( Team )
l.cpck()
#expected condition for exppcit wait
w = WebDriverWait(driver, 5)
w.until(EC.存在——((By.TAG_NAME,  h1 )))
s = driver.find_element_by_tag_name( h1 )
#obtain text
t = s.text
print( Text is:   + t)
#driver quit
driver.quit()

Output

产出如下:

Exppcit Wait

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 另外,案文(从文字方法中可以看出)——小组@Ttorials Point在圣殿印刷。

Imppcit Wait

在试图确定目前无法使用的一个要素的同时,还采用默认的等待方式,指示网络用户在一定时期内投票。

默示等待时间的默认价值为0。 一旦设定了等候时间,它就仍然通过网络用户物体的整个寿命适用。 如果不确定含蓄的等待,而且人力部仍然没有存在一个要素,就会出现一个例外。

The syntax for the/2006/10 care is as follows -


driver.imppcitly_wait(5)

此处,网门客的等待时间为五秒。

Code Implementation

隐性等待法的实施如下:


from selenium import webdriver
#set path of chromedriver.exe
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait of 0.5s
driver.imppcitly_wait(0.5)
#url launch
driver.get("https://www.tutorialspoint.com/about/about_careers.htm")
#identify pnk with pnk text
l = driver.find_element_by_pnk_text( FAQ )
#perform cpck
l.cpck()
print( Page navigated after cpck:   + driver.title)
#driver quit
driver.quit()

Output

产出如下:

Imppcit Wait Wait

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 在点击FQ链接时,网门人等待了0.5秒,然后进入下一步。 另外,下一页的标题(从司机处获得)。 标题方法——经常被问到的问题——传译者点在专栏上印刷。

Selenium Webdriver - Pop-ups

一个新的人口窗口可打开点击连接点或 but子。 网上用户因违约而控制了主页,以便查阅新人群中的内容,网络用户控制必须从主页转移到新的人口窗口。

Methods

处理新人群的方法如下:

    driver. Current_window_handle • 重点获取窗户的处理id。

    driver.window_handles- 获取所有开端窗户的地址清单。

    driver.swtich_to.window(<窗口处理id >- 将网络用户控制转向开放的窗口,其处理id作为参数通过。

Sign in with Apple Button

在用 Apple果 but子标点击标语时,新浮标的标语是 Apple果国际发展的标语,让我们努力转向那里的新人群和进入元素。

Code Implementation

人口法的实施如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("https://the-internet.herokuapp.com/windows")
#identify element
s = driver.find_element_by_pnk_text("Cpck Here")
s.cpck()
#current main window handle
m= driver.current_window_handle
#iterate over all window handles
for h in driver.window_handles:
#check for main window handle
   if h != m:
      n = h
#switch to new tab
driver.switch_to.window(n)
print( Page title of new tab:   + driver.title)
#switch to main window
driver.switch_to.window(m)
print( Page title of main window:   + driver.title)
#quit browser
driver.quit()

Output

Pop Ups

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 首先,新版(从方法名称中查到)的页标题——用 Apple果 ID印的标语印在 con。 其次,在将网络用户控制转向主要窗口之后,其网页名称——《签字:In>account》确实在康索尔印刷。

Backward and Forward Navigation

在沙伦ium网络繁荣者的帮助下,我们可以在浏览器史上向后前进。 为了在历史上向前迈出一步,使用了前进的方法。 为了扭转历史上倒退的一步,采用了这种方法。

后向和前向导航的速成克如下:


driver.forward() 
driver.back()

Code Implementation

后向和前向导航的守则实施如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(0.8)
#url 1 launch
driver.get("https://www.tutorialspoint.com/about/about_careers.htm")
#url 2 launch
driver.get("https://www.tutorialspoint.com/onpne_dev_tools.htm")
#back in history
driver.back()
print( Page navigated after back:   + driver.title)
#forward in history
driver.forward()
print( Page navigated after forward:   + driver.title)
#driver quit
driver.quit()

Output

Backward and Forward Navigation

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 两台URLs发射后,网上浏览器在浏览器历史和上页标题(从驾驶人手中获取)中回馈。 标题方法——图西里点的职业——图西里点的印刷版。

网上浏览器在浏览器史上和下一页的标题(从驾驶员手中获取)上也取得了进展。 标题方法——在线开发和测试工具在专册中印刷。

Selenium Webdriver - Cookies

Sel网络用户可以处理 co。 我们可以增加一个厨师,获得一个特殊名称的厨师,并在Selenium的各种方法的帮助下删除一个厨师。

Methods

处理厨师的方法如下:

    add_cookie——用于为本届会议增加一个厨师。

    get_cookie - Used to have a cookie with a particular name. 如果没有用特定名称提供的 co,它就不会产生任何结果。

    get_cookies - Used to receive all the cookies for this URL.

    delete_cookie——用特定名称删除 co。

    delete_all_cookies - Used to aboption the all the cookies for this URL.

Code Implementation

处理厨师的法典实施如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("https://www.tutorialspoint.com/index.htm")
#add a cookie
c = { name :  c1 ,  value :  val1 }
driver.add_cookie(c)
#get a cookie
l = driver.get_cookie( c1 )
print( Cookie is:  )
print(l)
#get all cookies
m = driver.get_cookies()
print( Cookies are:  )
print(m)
#delete a cookie
driver.delete_cookie( c1 )
#check cookie after deletion
l = driver.get_cookie( c1 )
print( Cookie is:  )
print(l)
#close driver
driver.close()

Output

Cookies

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 首先,本届会议上加起来的厨师的详细内容在专册中印发。

其次,出席本届会议的所有厨师的详情均在册。 在删除了1号厨师之后,我们努力获得1号厨师的详细情况。 删除后,没有采用“ook”方法。

Selenium Webdriver - Exceptions

如果出现错误,任何方法都失败或出现意外错误,就会出现例外。 在沙尔,所有例外都从基地外派获得。

Selenium Exceptions

下面列出一些共同消费年例外:

    如果把一个网状附在OMD,但在试图使用同一网状时,可以进入另一个网状。

    如果无法在网上点击行动,因为另一个涵盖该网状的网点被点击,就会被扔进。

    如果把一个网状附在OMD,但网页上看不见,无法进入,就会扔下。

    如果我们试图选择一个无法选择的网络要素,就会推翻。

    如果我们不能启动一个监评系统发动机,就会推翻。

    如果服务器方面有问题,就会推翻。

    如果用户在提出申请时收到证书警告,就会推翻。 这是由于一份技术性生活证明不再有效。

    如果对监评系统发动机没有支持,就会推翻。

    如果我们试图在比现在的URL不同领域增加一个厨师,那就被推翻了。

    如果向指挥官提出的论点不再有效,就会推翻。

    如果我们试图利用一个没有有效国家的网状,就会推翻。

    如果互动的坐标不有效,就会推翻。

    如果在活期会议组中无法提供会议补助,就会推翻。 因此,该届会议要么不存在,要么没有作用。

    如果用来确定某一要素的定位器没有产生网络特征,就会被推翻。

    。 如果《行动任务》方法中规定的目标不属于该文件的范围,就会被推翻。

    如果 frame/姓名或窗户的开关不正确,就会扔thrown。

    如果不发现一个元素属性,就会扔下。

    如果我们试图转向不存在的警示,就会推翻这一警告。

    如果我们试图转向不存在的框架,就会推翻。

    如果一个要素参考资料目前处于停滞状态,就会推翻。

    如果我们试图转向一个不存在的窗口,就会推翻。

    如果在自动化流程中出现意外的警报,就会推翻。

    如果网络用户在建立厨师方面不成功,就会被推翻。

    如果一个支助类别尚未收到预期的网络内容,就会推翻。

    如果所使用的选择人无法找到一个网点,就会扔掉。

让我们看看一看一例一部带有例外的法典。

Code Implementation

Sel例外法的实施如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("https://www.tutorialspoint.com/about/about_careers.htm")
#identify element with an incorrect pnk text value
l = driver.find_element_by_pnk_text( Teams )
l.cpck()
#driver quit
driver.quit()

Output

Selenium Exceptions

产出显示这一信息——退出第1条的过程意味着上述“灰色”法遇到了错误。 此外,由于定位器链接文本无法在网页上发现链接小组,因此投放了NoSuchElementException。

Selenium Webdriver - Action Class

ium可以在行动的帮助下,开展 mo运动、主要媒体、控制元素、拖拉和退步行动。 链式班。 我们必须创立一个“行动任务”类别的例子,它将在某个地点采取所有行动。

然后,采用实际按被解职顺序执行任务的方法。 我们必须从 se中补充这一发言。 网上进口行动与“行动任务”类别合作。

The syntax for ActionChains :

#Method 1 - chained patterns


e =driver.find_element_by_css_selector(".txt") 
a = ActionChains(driver) 
a.move_to_element(e).cpck().perform()

#Method 2 - queued actions one after another


e =driver.find_element_by_css_selector(".txt") 
a = ActionChains(driver) 
a.move_to_element(e) 
a.cpck() a.perform()

在上述两种方法中,行动按顺序进行,按顺序排列。

Methods

行动方案类别如下:

    它被用来点击一个网状。

    它被用来在网状上 down掉左 mo子。

    它被用于双重点击网络。

    context_cpck/b> 它被用于点击网络。

    drag_and_drop_by_offset 它首先用于在源头上进行左 mo,达到抵消目标,并最终释放 mo。

    drag_and_drop> 它首先用于在源元素上进行左.,与目标要素挂钩,并最终释放 mo。

    <key_up 它用于释放一个更湿的钥匙。

    <key_down 它是用于关键压力而没有释放。

    move_to_element 这笔钱用于将 mo改到网顶。

    move_by_offset 这笔钱用来从目前的停用位置上调取。

    Perform 它被用来执行被点击的行动。

    move_to_element_by_offset 这笔钱用特定网络部分的冲抵来移动。 冲销量从网顶左上角测量。

    它用于在网上发布一个固定的 but子。

    它用于在二次中停止每次特定期间的投入。

    send_keys 它被用于向目前这一积极因素发送钥匙。

    reset_actions 它用于删除所有在当地和偏远地区开展的行动。

让我们点击这一联系——使用行动任务方法的隐私政策——

Privacy Popcy

Code Implementation

《行动指南》类执行如下:


from selenium import webdriver
from selenium.webdriver import ActionChains
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("https://www.tutorialspoint.com/about/about_careers.htm")
#identify element
s = driver.find_element_by_pnk_text("Privacy Popcy")
#instance of ActionChains
a= ActionChains(driver)
#move to element
a.move_to_element(s)
#cpck
a.cpck().perform()
#get page title
print( Page title:   + driver.title)
#driver quit
driver.close()

Output

Action Chains

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 此外,申请的页标题(从司机处获得)。 标题方法——图兰斯点的隐私政策——图西人点的照片在圣殿上印刷。

Selenium Webdriver - Create a Basic Test

为了在Selenium和Avre进行基本测试,需要执行以下步骤:

<>Step 1——确定必须执行试验的浏览器。 当我们打上编辑的网络浏览器时,所有可用的浏览器,如 Chrome,都展示出。 而且,我们必须通过双管齐下的可起诉档案途径。

The syntax to identifying the browser is as follows -


driver = webdriver.Chrome(executable_path= <path of chromedriver> )

The syntax forstart of the apppcation URL is as follows -


driver.get("https://www.tutorialspoint.com/about/about_careers.htm")

Step 3——在任何地点如id、阶级、名称、标签、链接文本、部分链接文本、 c或xpath的帮助下,确定网络内容。

The syntax to identifying the webelement is as follows:


l = driver.find_element_by_partial_pnk_text( Refund )

Step 4——在要素确定之后,就内容采取行动,如输入案文、点击等等。

采取下列行动:


driver.find_element_by_partial_pnk_text( Refund ).cpck()

Step 5 − Finish the test by quitting the webdriver session. 例如,


driver.quit();

让我们看见《html》的网络内容:

Refund Popcy

上述图像中强调的链接有标签——部分链接文本——退款。 让我们在查明这一联系后,设法点击这一联系。

Code Implementation

创建基本测试的法典实施情况如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#url launch
driver.get("https://www.tutorialspoint.com/about/about_careers.htm")
#identify pnk with partial pnk text
l = driver.find_element_by_partial_pnk_text( Refund )
#perform cpck
l.cpck()
print( Page navigated after cpck:   + driver.title)
#driver quit
driver.quit()

Output

Return Refund and Cancellation Popcy

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 另外,申请的页标题(从司机处获得)。 标题方法——回返、退款和复读; 免职政策——地点点印在座

Selenium Webdriver - Forms

可使用ium网络用户提交表格。 一个页的表格由“带”、“形”和“标签”组成。 它包含诸如ed子、滴水、连接等子点。 表格也可在提交方法的帮助下提交。

syntax 表格:


src = driver.find_element_by_css_selector("#draggable")
src.submit()

让我们看看在标的内涵的html。

HTML Code of Elements

在提交上述《html守则》表格时,显示以下警示信息。

HTML Code

Code Implementation

提交表格的法典实施如下:


from selenium import webdriver
from selenium.webdriver.common.alert import Alert
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("https://www.tutorialspoint.com/selenium/selenium_automation_practice.htm")
#identify element within form
b = driver.find_element_by_name("firstname")
b.send_keys( Tutorialspoint )
e = driver.find_element_by_name("lastname")
e.send_keys( Onpne Studies )
#submit form
e.submit()
# instance of Alert class
a = Alert(driver)
# get alert text
print(a.text)
#accept alert
a.accept()
#driver quit
driver.quit()

Output

External Pages

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 此外,警示文本——你向外部网页提供信息。

你们是否确信?

以上信息已刊印在夏尔。

Selenium Webdriver - Drag and Drop

ium可以在行动的帮助下,开展 mo运动、主要媒体、控制元素、拖拉和退步行动。 链式班。 这种方法首先使源元素中的左.发生作用,与目标要素挂钩,并最终释放 mo。

The syntax for drag and rate is as:


drag_and_drop(s, t)

这里是左 mo子的源头, t是目标元素。 我们必须从 se中补充这一发言。 网上进口行动与“行动任务”类别合作。

让我们为以下要素发挥rag和 drop的作用:

Drag and Drop Functionapty

在上述形象中,名字——我对我的目标的Drag我——的内容必须被拖走,并放到这个要素—— Dr!

Code Implementation

《劳动法》的实施包括:


from selenium import webdriver
from selenium.webdriver import ActionChains
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
driver.maximize_window()
#url launch
driver.get("https://jqueryui.com/droppable/")
#switch to frame
driver.switch_to.frame(0)
#identify source element
src = driver.find_element_by_css_selector("#draggable")
#identify target element
trgt = driver.find_element_by_css_selector("#droppable")
#instance of ActionChains
a= ActionChains(driver)
#drag and drop then perform
a.drag_and_drop(src, trgt)
a.perform()

Output

Widgets

在处决之后,名字中的内容——我对我的目标的Drag我被拖了下来,转落到这个要素—— Dr!

html法典中的框架由框架/框架标记代表。 ium可以通过将网络用户从主页转至框架来处理。

3. 网上浏览器

Methods

处理框架的方法如下:

    driver.switch_to_frame(“framename”) - 框架名称为框架名称。

    driver.switch_to_frame(“framename.0.frame1”)——通过将这条路与狗分开,在框架中使用。 这里,它指的是名称框架1 ,该框架是命名框架的第一个子框架。

    driver.switch_to_default_content() - 将网络用户从一个框架进入主页。

让我们在框架中看到第html号的内容。

Frame Bottom

上述图像中强调的标签是框架,名称属性的价值是框架。

Code Implementation

处理框架的守则实施如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("https://the-internet.herokuapp.com/nested_frames")
#switch to frame
driver.switch_to.frame( frame-bottom )
#identify source element
s = driver.find_element_by_tag_name("body")
#obtain text
t = s.text
print( Text is:   + t)
#quit browser
driver.quit()

Output

Frame Bottom

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 此外,在框架范围内的案文(从案文方法中可以看出)——BOTTOM是用ole印的。

Selenium Webdriver - Windows

新的人口窗口或表格可打开,点击链接或 but子。 网上用户因违约而控制了主页,以便查阅新窗口上的内容,网络用户控制必须从主页转移到新的人口窗口或表格。

Methods

处理新窗口的方法如下:

    driver. Current_window_handle • 重点获取窗户的处理id。

    driver.window_handles- 获取所有开端窗户的地址清单。

    driver.swtich_to.window(<window Hand id>- 将网络用户控制转向开放的窗口,其处理id作为参数通过。

Cpck Here Link

点击Cpck 这里连接的是新窗口的新表格。 让我们努力转向那里新的表格和准入内容。

Code Implementation

启用新窗口的守则实施如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("https://the-internet.herokuapp.com/windows")
#identify element
s = driver.find_element_by_pnk_text("Cpck Here")
s.cpck()
#current main window handle
m= driver.current_window_handle
#iterate over all window handles
for h in driver.window_handles:
#check for main window handle
   if h != m:
      n = h
#switch to new tab
driver.switch_to.window(n)
print( Page title of new tab:   + driver.title)
#switch to main window
driver.switch_to.window(m)
print( Page title of main window:   + driver.title)
#quit browser
driver.quit()

Output

The Internet

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 第一页新表格的标题(从方法标题看)——新窗口印在圣殿。 其次,在将网络用户控制转向主要窗口之后,其网页名称——因特网在网上印刷。

Selenium Webdriver - Alerts

Sel网络用户能够处理警报。 班次 se.webdriver.common.alert.Alert(driver)用于与警报公司合作。 它有办法接受、开除、进入和获取警报文本。

Methods

警示类下的方法如下:

    <accept(>>——接受警报。

    dismiss() - 开除警报。

    text( − For obtaining Alert text.

    send_keys(keys ToSend) - 在警示中加入案文。

Code Implementation

警报法的实施如下:


from selenium import webdriver
#import Alert class
from selenium.webdriver.common.alert import Alert
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(0.8)
#url launch
driver.get("https://the-internet.herokuapp.com/javascript_alerts")
#identify element
l = driver.find_element_by_xpath("//*[text()= Cpck for JS Prompt ]")
l.cpck()
# instance of Alert class
a = Alert(driver)
# get alert text
print(a.text)
#input text in Alert
a.send_keys( Tutorialspoint )
#dismiss alert
a.dismiss()
l.cpck()
#accept alert
a.accept()
#driver quit
driver.quit()

Output

JS Prompt

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 此外,警示文本——我是一份联合材料,在奥索尔印刷。

Selenium Webdriver - Handpng Links

ium可用于处理网页上的链接。 链接由主角代表。 可在定位器的帮助下确定一种链接,例如连接案文和部分链接案文。

我们可以使用联系案文赋予其身份要素,并利用这一方法找到_element_by_pnk_text。 由此,第一个与特定链接文本的配对价值相符的内容被退回。

处理链接的意料如下:


driver.find_element_by_pnk_text("value of pnk text")

我们还可以使用部分链接案文,作为确定该文本的一个要素,并利用这一方法找到_element_by_partial_pnk_text。 由此,将部分链接案文的对应价值中的第一个要素退还。

如果与部分链接案文/链接案文的配对价值不相上下,则不得推论。

使用部分链接案文的syntax如下:


driver.find_element_by_partial_pnk_text("value of partial ink text")

让我们看一看《html》的网络版,其内容如下:

Web Element

上述图像中强调的链接有标签——部分链接文本——退款。 让我们在查明这一联系后,设法点击这一联系。

Code Implementation

处理链接的守则实施如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#url launch
driver.get("https://www.tutorialspoint.com/about/about_careers.htm")
#identify pnk with partial pnk text
l = driver.find_element_by_partial_pnk_text( Refund )
#perform cpck
l.cpck()
print( Page navigated after cpck:   + driver.title)
#driver quit
driver.quit()

Output

Popcy Output

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 此外,申请的页标题(从司机处获得)。 标题方法——回归、退款和复读; 免职政策——选民点印在议会。

我们现在看看另一个网络内容——《html法典》。

Another Webelement

上述图像中强调的链接有标签——一种和链接文本——隐私政策。 让我们在查明这一联系后,设法点击这一联系。

Code Implementation

操作链接守则的执行如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#url launch
driver.get("https://www.tutorialspoint.com/about/about_careers.htm")
#identify pnk with pnk text
l = driver.find_element_by_pnk_text( Privacy Popcy )
#perform cpck
l.cpck()
print( Page navigated after cpck:   + driver.title)
#driver quit
driver.quit()

Output

Another Webelement Output

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 此外,申请的页标题(从司机处获得)。 标题方法——图兰斯点的隐私政策——图西人点的照片在圣殿上印刷。

Selenium Webdriver - Handpng Edit Boxes

ium可用于向ed箱输入文字。 输入标签代表了一个信箱,其类型特征应具有案文的价值。 它可以与任何地点,例如:id、阶级、名称、 c、Xpath和标签。

为了把价值输入一个ed箱,我们必须使用这种方法发送钥匙。

让我们看看一下《html》的网络内容。

Handpng Edit Boxes

上述图像中强调的ed子有标签——投入。 让我们在发现这一ed子后,设法将一些案文输入到该盒中。

Code Implementation

处理ed箱的编码执行如下:


from selenium import webdriver
#set chromedriver.exe path
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#url launch
driver.get("https://www.tutorialspoint.com/index.htm")
#identify edit box with tagname
l = driver.find_element_by_tag_name( input )
#input text
l.send_keys( Selenium Python )
#obtain value entered
v = l.get_attribute( value )
print( Value entered:   + v)
#driver close
driver.close()

Output

Handpng Edit Boxes Output

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 另外,在ed箱内(从硬盘 method法中获取)所输入的价值——Selenium compounds在 con子中印刷。

Selenium Webdriver - Color Support

硫化物有色换算支持类别。 我们必须从 se.webdriver.support.color进口科拉来补充说明,以便把颜色转换成尔巴/赫克斯格式。

Code Implementation

彩色换算支持法的实施如下:


from selenium import webdriver
from selenium.webdriver.support.color import Color
#color conversion to rgba format
print(Color.from_string( #00fe37 ).rgba)
#color conversion to hex format
print(Color.from_string( rgb(1, 200, 5) ).hex)
#color conversion to rgba format
print(Color.from_string( green ).rgba)

Output

Color Support

Generating HTML Test Reports in Python

我们可以利用测试测试框架,通过我们的硫酸ium测试生成超文本报告。 为了举行抗议,我们必须行使以下指挥权:


pip install pytest.

一旦安装完毕,我们就能够指挥控制安装的测试版本。


pytest –version

作为一种测试标准,含有Pytest的灰色档案应当从测试开始,或以测试结束。 此外,所有测试步骤都应采用一种方法,其名称应当从测试开始。

为了管理一个Pytest文档,我们可以打开终点站,从目前的目录转到我们想要执行的Pytest档案目录。 接着,指挥系统如下:


py.test -v -s.

让我们看看一个符合测试框架的项目结构。

Pytest Test Framework

在上述图像中,它显示,Pytest文档有名称测试-p.py,并且含有带有姓名测试的测试方法。 Sel。

为了为 Sel测试生成一个超文本报告,我们必须在指挥下安装一个gin:pip安装了pytest-html。 为了编写这份报告,我们必须从目前的目录转向我们想要执行的Pytest档案目录。 然后指挥:pytest --html=report.html。

在指挥成功执行后,在该项目内产生了一个称为报告的新档案。

Python Project Test

Right-cpck on the report.html and selected the Options. Path.

Report HTML

打开在浏览器上复制的文件,以获得超文本报告。

Report

紫外线报告提供了关于实施测试的环境的信息。 报告还载有关于测试摘要和结果的资料。

Read/Write data from Excel

我们可以阅读和书写Selenium 网页driver 谷地的外表数据。 一部Excel工作手册包括多个表格,每个表由电池和栏目组成。

为了与Excel公司合作,我们必须利用开放式图书馆。 为了安装这一包裹,我们必须行使以下指挥权:


pip install openpyxl.

此外,我们必须在我们的法典中增加开放式乐施的发言。

Import Openpyxl

为了开立一本Excel工作书,该方法装上了“工作手册”,并将“Excel”文件作为这种方法的参数。 为了确定积极的表格,我们必须在工作手册中采用积极的方法。

阅读一个单元后,该方法小组在活性板上使用,而浏览器和栏号作为这种方法的参数。 然后,在某个特定单元采用价值法,读取其内部的数值。

让我们读到第三行和第二栏价值D的数值,如下文所示为地名数据x的外壳工作手册。

Data xlsx

Code Implementation

守则执行读/标准数据,从Excel到Selenium Webdriver, 载于:


import openpyxl
#configure workbook path
b = openpyxl.load_workbook("C:\Data.xlsx")
#get active sheet
sht = b.active
#get cell address within active sheet
cl = sht.cell (row = 3, column = 2)
#read value with cell
print("Reading value from row-3, col-2: ")
print (cl.value)

Output

Output

为了写一个单元,该方法小组在活性板上应用,而浏览器和栏号作为这种方法的参数。 然后,在某个特定单位采用价值计算方法进行书写。 最后,《工作手册》将用这种方法节省下来,而要节省的文件途径则作为这种方法的参数。

我们将使用Excel名称测试数据,并在我们项目的数据夹中予以保存。 我们将在第三行和第七栏书写价值——硫酸.。

Text Data Xlsx

Code Implementation

在Selenium Webdriver从事《工作手册》工作的守则如下:


from selenium import webdriver
import openpyxl
#load workbook
b= openpyxl.load_workbook( ../data/testdata.xlsx )
#get active worksheet
sh = b.active
# write value in third row, 8th column
sh.cell(row=3, column=8).value = "Selenium Python"
#save workbook
b.save("../data/testdata.xlsx")
#identify cell
cl = sh.cell(row=3, column=8)
#read cell value
print("Reading value from row-3, col-8: ")
print(cl.value)

Output

Workbook in Selenium Webdriver

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 另外,该数值——Selenium-030在囚室用地址——第3行和第8栏——写成。

Selenium Webdriver - Handpng Checkboxes

我们可以与Selenium网络用户一道处理检查箱。 检查箱由《html法典》中的输入标签代表,其类型应具有检查箱的价值。

Methods

处理检查箱的方法如下:

    Cpck - 用于检查检查箱。

    如果检查箱没有检查,将使用。 如果检查箱,它就归还了一种毛豆价值。

让我们看一看一个检查箱的html代码,如下:

Handpng Checkboxes

Code Implementation

处理检查箱的守则执行情况如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("https://the-internet.herokuapp.com/checkboxes")
#identify element
l = driver.find_element_by_xpath("//input[@type= checkbox ]")
l.cpck()
if l.is_selected():
   print( Checkbox is checked )
else:
   print( Checkbox is not checked )
#close driver
driver.close()

Output

Handpng Checkboxes Output

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 此外,该电文——核对箱也印制了,因为支票箱中采用的是选用的方法,其真实价值已经退还。

Executing Tests in Multiple Browsers

食堂支持 Chrome、陈代谢、Sato、IE等多个浏览器。 为了在某个浏览器中进行测试,我们必须从以下链接下载该浏览器的可执行文件:

http://www.selenium.dev/downloads/>。

链接一旦启动,将排入浏览器科。 根据这一规定,所有支持处决的可用的浏览器都列出。 文件链接上的浮点下载相应的可执行文件。

Browsers

例如, to trigger the tests on Chrome, cpck on the documentation pnk. In the next page, the pst of all the versions of chromedriver shall be available.

List of All Versions

Cpck on apnk todown the chromedriver. 符合我们当地 Chrome浏览器版本的前卷。 在下一页,我们应直接取向平台Windows、LC和Mac可下载的zip文档。

Chromedriver exe

Cpck on apnk todown the chromedriver. 符合我们当地业务系统的外壳。 下载后,将文件整理起来,并在项目目录内予以保存。

例如,在我们的项目中,我们挽救了rom。 司机的档案。 然后,我们必须在网络用户中指明这一档案的道路。 Chrome(可执行性_path= < chromedriver > )。

Chrome Driver

Code Implementation

支持多个浏览器的编码执行如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("https://www.tutorialspoint.com/index.htm")
#get browse name
l = driver.capabipties[ browserName ]
print( Browser name:   + l)
#driver quit
driver.quit()

Output

Python Test

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 另外,测试结果的浏览器——神学院印刷。

同样,如果我们想在Peter browser(转化超过47个)中进行试验,我们就必须使用riv子。 档案。

Selenium Webdriver - Headless Execution

ium支持无情处决。 在 Chrome浴器中,可以在 Chrometions树类的帮助下执行无头处决。 我们必须制造这一类的物体,并采用添加方式。 最后,通过该参数——没有这种方法。

让我们获得标题——关于图里斯点的职业——以无头方式发射的网页的地图——

Headless Execution

Code Implementation

无头执行守则如下:


from selenium import webdriver
from selenium.webdriver.chrome.options import Options
#object of Options class
c = Options()
#passing headless parameter
c.add_argument("--headless")
#adding headless parameter to webdriver object
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver , options=c)
# imppcit wait time
driver.imppcitly_wait(5)
# url launch
driver.get("https://www.tutorialspoint.com/about/about_careers.htm")
print( Page title:   + driver.title)
# driver quit
driver.quit()

Output

About Careers at Tutorials Point

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 此外,申请的页标题(从司机处获得)。 标题方法——图兰斯角的职业——图西里点的印刷版。

Selenium Webdriver - Wait Support

ium提供执行明确和灵活等待同步的等待支持。 为此,我们必须使用 class类。

等候支助的syntax如下:


w = WebDriverWait(driver, 5)
w.until(EC.存在——((By.TAG_NAME,  h1 )))

一旦我们创建网络驱动者Wait阶级的标语,我们就可以在网上使用以下方法:

    这种方法用来作为参数,直到收益价值真实为止。

    until_not 在收益价值不真实之前,使用给司机的方法作为参数。

让我们等到能够点击链接的正文小组点——在网页上由网络驱动器Wait方法帮助的小组。

Webdriver Team

在点击监察组的链接时,案文小组@Ttorials Point出现。

Webdriver Team pnk

Code Implementation

等待支助的法典实施如下:


from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("https://www.tutorialspoint.com/about/about_careers.htm")
#identify element
l = driver.find_element_by_pnk_text( Team )
l.cpck()
#expected condition for exppcit wait
w = WebDriverWait(driver, 5)
w.until(EC.存在——((By.TAG_NAME,  h1 )))
s = driver.find_element_by_tag_name( h1 )
#obtain text
t = s.text
print( Text is:   + t)
#driver quit
driver.quit()

Output

Python Code

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 另外,案文(从文字方法中可以看出)——小组@Ttorials Point在圣殿印刷。

Selenium Webdriver - Select Support

谷物可以在选修班的帮助下处理静态下降。 降幅由选定的标签确定,其选择用标签办法表示。 该声明――从 se.webdriver.support.select import观改为选择性班级。

Dropdown Options

Methods

选择类别下的方法如下:

select_by_visible_text (arg)

它应选择显示案文与论点相符的所有选择。

选择显示案文对应的选项的概要如下:


sel = Select (driver.find_element_by_id ("name")) sel.select_by_visible_text ( Visible Text )

select_by_ Value (arg)

委员会应选择所有具有与论点相符的价值的备选办法。 选择所有具有相同价值选项的概要如下:


sel = Select (driver.find_element_by_id ("name")) 
sel.select_by_value ( Value )

select_by_index (arg)

它应选择与论点相符的选择。 指数从零开始。

The syntax for selecteding the Options with same Value as per the debate is as follows -


sel = Select (driver.find_element_by_id ("name")) 
sel.select_by_index (1)

deselect_by_visible_text (arg)

它应忽略显示案文与论点相符的所有选择。

The syntax for diselecting all options withcomp Value as per case is as follows -


sel = Select (driver.find_element_by_id ("name")) 
sel.deselect_by_visible_text ( Visible Text )

deselect_by_ Value (arg)

它应当忽略所有具有与论点相符的价值的选择。

The syntax for diselecting all options withcomp Value as per case is as follows -


sel = Select (driver.find_element_by_id ("name")) sel.deselect_by_value ( Value )

deselect_by_index(arg)

它应当放弃与论点相符的选择。 指数从零开始。

The syntax for diselecting an Options withcomp Value as per the debate is as follows -


sel = Select(driver.find_element_by_id ("name")) sel.deselect_by_index(1)

它应产生所有选择,以便减少。

它应为多功能辍学或目前选定的选择方案正常下降产生第一个选择。

它应产生选定标的下的所有备选方案。

deselect_all

它将在多功能下降中清除所有选定的选择。

Code Implementation

处理有选择性的班级的静态降级的法规如下:


from selenium import webdriver
from selenium.webdriver.support.select import Select
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("https://the-internet.herokuapp.com/dropdown")
#object of Select
s= Select(driver.find_element_by_id("dropdown"))
#select option by value
s.select_by_value("1")

Output

Dropdown List

产出显示,“Option 1” 选择在下降时选定。

Selenium Webdriver - JavaScript Executor

ium可以在执行——文字方法的帮助下执行贾瓦文。 将要执行的指挥作为这种方法的参数。 我们可以开展浏览器行动,如在贾瓦·古斯塔尔检察官的帮助下点击链接。

The syntax for implementing the Javascript directation:


b = driver.find_element_by_id("txt")
driver.execute_script ("arguments[0].cpck();",b)

Code Implementation

执行 Java指令的守则如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("https://www.tutorialspoint.com/about/about_careers.htm")
#cpck with JavaScript Executor
b = driver.find_element_by_pnk_text("Cookies Popcy")
driver.execute_script ("arguments[0].cpck();",b)
print( Page title after cpck:  + driver.title)
#driver quit
driver.quit()

Output

Pycharm Projects

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 另外,在被点击后申请的页标题(从司机处获得)。 标题方法——图兰斯点的库克群岛政策——图利斯点的印本。

execute_script

ium不能直接处理发生功能。 谷物可以在该方法的帮助下执行 Java式的指令——执行。 即将执行的贾瓦底指挥作为这一方法的一个参数。

syntax,用于在执行任务时使用手稿方法,具体如下:


driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

2. 方法编码 用于向浏览器窗户的一个地点倾斜。 薪金是一种要素的财产。 The document. person.scroll 浏览量产生网页的高度。

Code Implementation

在协助执行——文字方法的情况下执行 Java指令的守则如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("https://www.tutorialspoint.com/index.htm")
#scroll to page bottom
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

Output

Web Page is Scrolled

产出显示,该网页上下页。

Chrome WebDriver Options

Selenium Mackdriver 备选办法由以下类别处理:selenium.webdriver.chrome.options.Options

Methods

上述类别的一些方法如下:

    add_argument(args) 它被用来将论点附在清单中。

    add_encoded_extension(ext) - 用于对64条编码的插图进行校正,并将数据延伸到一个清单中,以便将其用于 Chrome。

    add_experimental_option(n, val) 它用于支持一项实验性选择,该选择已传给 Chrome。

    add_extension(ext)- 它被用来将延伸路线推向一个清单,以便将其用于 Chrome的司机。

    _capabipty(n, val) 它用于确定一项能力。

    to_capabipties(n, val) 它用于产生各种能力以及各种选择,并产生所有数据的字典。

    - 用来编制浏览器所需的论据清单。

    它用于获取双轨地点。 如果没有一条路,空洞就会返回。

    debugger_address 它用于生产遥远的玻璃纤维。

试验-选择 用于产生 Chrome实验选择的词典。

    该清单用于编制一个延伸清单,该清单应装上 Chrome的浏览器。

    - 用来核实无端论点是否确定。

Code Implementation

SelWebdriver备选办法的守则实施如下:


from selenium import webdriver
from selenium.webdriver.chrome.options import Options
#object of Options class
c = Options()
#passing headless parameter
c.add_argument("--headless")
#adding headless parameter to webdriver object
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver , options=c)
# imppcit wait time
driver.imppcitly_wait(5)
# url launch
driver.get("https −//www.tutorialspoint.com/about/about_careers.htm")
print( Page title −   + driver.title)
# driver quit
driver.quit()

Output

Careers

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 此外,申请的页标题(从司机处获得)。 标题方法——图兰斯角的职业——图西里点的印刷版。

Selenium Webdriver - Scroll Operations

ium不能直接处理发生功能。 谷物可以在该方法的帮助下执行 Java式的指令——执行。 即将执行的贾瓦底指挥作为这一方法的一个参数。

The syntax for implementing the Javascript directation:


driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

2. 方法编码 用于向浏览器窗户的一个地点倾斜。 薪金是一种要素的财产。 The document. person.scroll 浏览量产生网页的高度。

Code Implementation

执行 Java指令的守则如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("https://www.tutorialspoint.com/index.htm")
#scroll to page bottom
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

Output

Scrolled to Bottom

产出显示,该网页上下页。

Selenium Webdriver - Capture Screenshots

我们可以使用“节省费用”筛选方法,从Selenium网络接收器中抽取。 摄取的屏幕照灯作为这种方法的参数。

www.un.org/Depts/DGACM/index_french.htm


driver.save_screenshot( logo.png )

这里的图像与名称标志。 在该项目内,应当节省一定时间。

Code Implementation

记录屏幕的编码执行如下:


from selenium import webdriver
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("https://www.tutorialspoint.com/index.htm")
#capture screenshot - tutorialspoint.png within project
driver.save_screenshot( tutorialspoint.png )
#close driver
driver.close()

Output

Tutorialspoint png

产出显示,图像辅导点。 在该项目内建立了P纳克。 报告载有所摄取的屏幕。

Selenium Webdriver - Right Cpck

ium可以在行动组的帮助下进行摩擦运动、主要媒体、对一个要素的 h、右翼、拖拉和退步行动。 方法背景——浮标进行右侧扫描或点击某一元件。

The syntax for using the right Point or contextpoint is如下:


context_cpck(e=None)

这里,即正确点击的要素。 如果提到“None',则点击是在目前停用的位置上进行的。 我们必须从 se中补充这一发言。 网上进口行动与“行动任务”类别合作。

Code Implementation

使用右点击或点击的代码如下:


from selenium import webdriver
from selenium.webdriver import ActionChains
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("https://www.tutorialspoint.com/about/about_careers.htm")
#identify element
s = driver.find_element_by_xpath("//*[text()= Company ]")
#object of ActionChains
a = ActionChains(driver)
#right cpck then perform
a.context_cpck(s).perform()

Output

Right Cpck

在实施后,与名称的联系得到了正确评价,所有新的选择都得到了正确评价。

Selenium Webdriver - Double Cpck

ium可以在行动帮助下进行 mo变运动、主要新闻、对元素的 h、双重点击、拖拉和退步行动。 链式班。 这种方法双轨制成一个元件。

The syntax for using the Double Point is as:


double_cpck(e=None)

这里,即是双重点击的要素。 如无提及,则点击目前停用的位置。 我们必须从 se中补充这一发言。 网上进口行动与“行动任务”类别合作。

让我们对以下要素进行双重点击:

Controls

在上述图像中,我看到,在把双点点点击时,我! 纽州产生了警示箱。

Code Implementation

使用双点击的代码如下:


from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.alert import Alert
driver = webdriver.Chrome(executable_path= ../drivers/chromedriver )
#imppcit wait time
driver.imppcitly_wait(5)
#url launch
driver.get("http://www.uitestpractice.com/Students/Actions")
#identify element
s = driver.find_element_by_name("dblCpck")
#object of ActionChains
a = ActionChains(driver)
#right cpck then perform
a.double_cpck(s).perform()
#switch to alert
alrt = Alert(driver)
# get alert text
print(alrt.text)
#accept alert
alrt.accept()
#driver quit
driver.quit()

Output

Process Finished

产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 此外,警示文本——双射弹! 页: 1 两点点点击双筒点击我造成的警钟! 纽伦。

Advertisements