English 中文(简体)
Identify Multiple Elements
  • 时间:2024-03-21 14:11:57

Selenium Webdriver - Identify Multiple Elements


Previous Page Next Page  

在本章中,我们将学习如何通过各种选择确定多个要素。 让我们首先了解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是否定性归属的价值]。

    标语的表述形式应为标签。 页: 1 例如,投入。

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

Rules to Create CSS Expression

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

对于价值观正在动态变化的属性,我们可以使用^=确定某一要素,其属性价值始于某一特定案文。 例如,投入[名称:qa=qa] [如果投入是标的,名称的数值从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(

在网页上可见的文字的帮助下,该词用来确定一个要素。 x的表述如下:


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

start- with

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

Let us see the html of the element Q/A −

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子中印刷。

Advertisements