English 中文(简体)
Identify Single Element
  • 时间:2024-03-21 14:18:08

Selenium Webdriver - Identify Single Element


Previous Page Next Page  

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

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

Advertisements