- Selenium WebDriver - Discussion
- Selenium WebDriver - Useful Resources
- Selenium WebDriver - Quick Guide
- Double Click
- Right Click
- Capture Screenshots
- Scroll Operations
- Chrome WebDriver Options
- JavaScript Executor
- Select Support
- Wait Support
- Headless Execution
- Executing Tests in Multiple Browsers
- Handling Checkboxes
- Read/Write data from Excel
- Generating HTML Test Reports in Python
- Color Support
- Handling Edit Boxes
- Handling Links
- Alerts
- Windows
- Drag and Drop
- Forms
- Create a Basic Test
- Action Class
- Exceptions
- Cookies
- Backward and Forward Navigation
- Pop-ups
- Explicit and Implicit Wait
- Identify Multiple Elements
- Identify Single Element
- Browser Navigation
- Installation
- Introduction
- Home
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Selenium Webdriver - Identify Single Element
一旦我们浏览一个网页,我们就不得不与网页上的现有内容进行互动,例如点击连接/布顿,进入一个信箱内的案文,从而完成我们的自动化测试。
By Id
为此,我们的首要任务是确定这一要素。 我们可以使用背后特性确定身份要素,并使用这种方法发现_element_by_id。 之后,第一个与属性补贴的配对价值相配的元素被退回。
如果没有与补贴金额相匹配的成分,则不得thrown。
识别要素的意想x如下:
driver.find_element_by_id("value of id attribute")
让我们看一看一个网络要素的html代码——
上述图像中强调的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
产出显示了这一信息——退出代码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》网络内容。
上述图像中强调的编辑箱有一个名称特征,可检索价值。 让我们在发现这一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》网络内容。
上述图像中强调的网络要素具有价值标题的类别特性。 让我们在确定这一要素之后,设法获得这一内容的文本。
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
产出显示了这一信息——退出代码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》网络内容。
上述图像中强调的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
产出显示了这一信息——退出代码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》网络内容。
上述图像中强调的链接有标签——一种和链接文本——隐私政策。 让我们在查明这一联系后,设法点击这一联系。
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
产出显示了这一信息——退出代码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》网络内容。
上述图像中强调的链接有标签——部分链接文本——退款。 让我们在查明这一联系后,设法点击这一联系。
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
产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 另外,申请的页标题(从司机处获得)。 标题方法——回归、退款和复读; 免职政策——选民点印在议会。
By CSS Selector
一旦我们浏览一个网页,我们就必须与网页上的现有网站进行互动,例如点击连接/布顿,进入一个信箱内的案文,从而完成我们的自动化测试。
为此,我们的首要任务是确定这一要素。 我们可以为确定其身份而设置一个要素的挑选器,并使用这种方法。 之后,第一个与特定物品的配对价值相匹配的元件被退回。
如果没有元件的配对价值,则不得thrown。
中央支助事务甄选员确定单一要素的辛金如下:
driver.find_element_by_css_selector("value of css")
Rules to create CSS Expression
下文将讨论创建一种表达方式的规则。
为了用芯片识别该元素,该表述应为标签[价值]。 我们还可以具体利用假名来形成一种表达。
粗略地说,标语的形式应为标语。 例如,投入编号[如果投入是标的,txt是否定性归属的价值]。
标语的表述形式应为标签。 班级。 例如,投入。
如果父母中有一生子女,而且我们要确定哪一个孩子,那么这种表达方式就应该有哪一种类型。
在上述法典中,如果我们想确定第四种幼童[问答],那么这种表达方式就应当加以表述。 同样,为了确定最后一名儿童,应当表达这些孩子。 阅读:最后孩子。
对于价值观正在动态变化的属性,我们可以使用^=确定某一要素,其属性价值始于某一特定案文。 例如,投入[名称= qa] 在这方面,投入是标的,其名称价值从qa开始。
对于价值动态变化的属性,我们可以使用和安放;=找到一个具有属性价值的内容,其具体文本就结束了。 例如,投入[类别和类别;美元;=txt] 这里,投入是标签和类别属性价值,以tx告终。
对于价值不断变化的特点,我们可以使用*来确定一个特性价值包含具体次案文的内容。 例如,投入[名称* = nam] 在此,投入是标的,名词的价值包含次案文名称。
让我们看见以下的《html》网络内容。
上述图像中强调的编辑箱有一个名称特征,可进行价值检索,标语应当为投入[名称=搜索]。 让我们在发现这一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
产出显示了这一信息——退出代码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法典》——从根基开始。
这一要素的绝对标准如下:
/html/body/span[1]/span/span[1]/a.
部分住宅的相对食堂如下:
//a[@title= TutorialsPoint - Home ].
Functions
还有一些职能有助于制定相对的Xpath表述。
text(
用来确定一个内容及其可见的文本。 x的表述如下:
//*[text()= Home ].
start- with
它用来确定一个要素,其属性价值始于具体案文。 这一功能通常用于每一页负荷价值变化的特性。
让我们看到Q/A链接的html。
x应表述如下:
//a[starts-with(@title, Questions & )].
contains(
它确定了一个要素,其属性价值包含一个次案文。 这一功能通常用于每一页负荷价值变化的特性。
x的表述如下:
//a[contains(@title, Questions & Answers )].
让我们看一看《html》的网络版,如下文所示。
上述图像中强调的编辑箱有一个名称特征,有价值搜索,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
产出显示了这一信息——退出代码0的过程意味着上述雷达法成功执行。 另外,在ed箱内(从硬盘 method法中获取)所输入的价值——Selenium compounds在 con子中印刷。
Advertisements