当前位置:网站首页>Element operation and element waiting in Web Automation
Element operation and element waiting in Web Automation
2022-07-05 22:52:00 【FamilyYan】
One 、 Element operation
1、 Click on
element.click()
2、 Get element name
element.tag_name
from selenium import webdriver
import logging
import time
logging.basicConfig(level=logging.DEBUG)
# Start the browser driver server
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
# Find Baidu input box , Enter lemon class
ele = driver.find_element_by_id("kw")
ele.send_keys(" Winter Olympic Games ")
target_name = ele.tag_name
print(" Tag name :", target_name) # Tag name : input
3、 Get element text content
element.text
from selenium import webdriver
import logging
import time
logging.basicConfig(level=logging.DEBUG)
# Start the browser driver server
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
# Find search by image
ele = driver.find_element_by_xpath('//span[text()=" Pay attention to ice and snow events Together to the future "]')
text = ele.text
print(" The text is :",text) # The text is : Pay attention to ice and snow events Together to the future
ele.click()
time.sleep(3)
driver.quit()
4、 Clear the input box
element.clear()
from selenium import webdriver
import logging
import time
logging.basicConfig(level=logging.DEBUG)
# Start the browser driver server
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
# Find Baidu input box , Enter lemon class
ele = driver.find_element_by_id("kw")
ele.send_keys(" Winter Olympic Games ")
time.sleep(4)
# Emptying operation , When there is a default value , Clear the default value first
ele.clear()
time.sleep(3)
driver.quit()
5、 Get element attribute value
element.get_attribute(name=‘type’)
from selenium import webdriver
import logging
import time
logging.basicConfig(level=logging.DEBUG)
# Start the browser driver server
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
# Find Baidu input box
ele = driver.find_element_by_id("kw")
ele.send_keys(" Winter Olympic Games ")
# # Find it, baidu click the button , click
ele2 = driver.find_element_by_id("su")
val = ele2.get_attribute("value")
print(val) # use Baidu Search
ele2.click()
time.sleep(3)
driver.quit()
Two 、 Element to wait
1、 Element waiting for classification
1、 Mandatory waiting
2、 According to wait
3、 An implicit wait
1、 Mandatory waiting
Use time.sleep(5)
2、 An implicit wait
driver.implicitly_wait(2)
characteristic :
(1) The entire session is executed only once , But it works for all elements , That is, all elements will execute element waiting
(2) The waiting time is in seconds
(3) Element wait time exceeded , If the element does not appear , Then the positioning will fail
from selenium import webdriver
import time
# Start the browser driver server
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
# An implicit wait
driver.implicitly_wait(2)
# Find Baidu input box
ele = driver.find_element_by_id("kw")
ele.send_keys(" Winter Olympic Games ")
# # Find it, baidu click the button , click
ele2 = driver.find_element_by_id("su")
val = ele2.get_attribute("value")
print(val) # use Baidu Search
ele2.click()
time.sleep(3)
driver.quit()
3、 According to wait
1、 stay timeout Within the set time , And then according to poll_frequency Enter the set time to query whether the element 【 so 、 There is 】
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
WebDriverWait Class parameter :
1、driver: Browser driven
2、timeout: Timeout of element waiting ( second ),10
3、poll_frequency=POLL_FREQUENCY: Polling cycle , The default is 0.5 second ,1
4、ignored_exceptions: Exception information thrown after timeout ,no such element exception
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import time
# Start the browser driver server
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
# According to wait
locator = (By.ID, "kw")
wait = WebDriverWait(driver=driver, timeout=10, poll_frequency=1)
# Find Baidu input box
ele = wait.until(EC.visibility_of_element_located(locator=locator))
# ele = driver.find_element_by_id("kw")
ele.send_keys(" Winter Olympic Games ")
# # Find it, baidu click the button , click
ele2 = driver.find_element_by_id("su")
val = ele2.get_attribute("value")
print(val) # use Baidu Search
ele2.click()
time.sleep(3)
driver.quit()
Display waiting for use :
Use
1、 Write separately
# Element positioning expression
locator = (By.ID,"kw")
# Instantiation
wait = WebDriverWait(driver=driver, timeout=10, poll_frequency=1)
# Element localization
ele = wait.until(EC.visibility_of_element_located(locator=locator))
# Wait for multiple elements to be visible
EC.visibility_of_all_elements_located(locator=locator)
2、 Combined writing
ele = WebDriverWait(driver=driver, timeout=10, poll_frequency=1).until(EC.visibility_of_element_located(locator=locator))
3、 ... and 、By Class uses
from selenium.webdriver.common.by import By
ele = driver.find_element_by_id("kw")
ele = driver.find_element(By.ID,"kw")
The two ways of writing are the same
locator = (By.Xpath,"//body//a")
locator = ("xpath","//body//a")
边栏推荐
- 344. Reverse String. Sol
- Finally understand what dynamic planning is
- Starting from 1.5, build a micro Service Framework -- log tracking traceid
- Double pointer of linked list (fast and slow pointer, sequential pointer, head and tail pointer)
- Exponential weighted average and its deviation elimination
- How to create a thread
- SPSS analysis of employment problems of college graduates
- Tensor attribute statistics
- [groovy] mop meta object protocol and meta programming (Introduction to groovyobject interface | introduction to metaclass | implementation of class methods using groovyobject invokemethod)
- Boring boring
猜你喜欢
Sparse array [matrix]
Usage Summary of scriptable object in unity
Arduino 测量交流电流
Codeforces Global Round 19
d3dx9_ How to repair 31.dll_ d3dx9_ 31. Solution to missing DLL
如何快速理解复杂业务,系统思考问题?
Editor extensions in unity
Error when LabVIEW opens Ni instance finder
Nanjing: full use of electronic contracts for commercial housing sales
Ultrasonic sensor flash | LEGO eV3 Teaching
随机推荐
Binary tree (III) -- heap sort optimization, top k problem
Error when LabVIEW opens Ni instance finder
Un article traite de la microstructure et des instructions de la classe
Activate function and its gradient
Function default parameters, function placeholder parameters, function overloading and precautions
30 optimization skills about mysql, super practical
Global and Chinese market of diesel fire pump 2022-2028: Research Report on technology, participants, trends, market size and share
Arduino measures AC current
513. Find the value in the lower left corner of the tree
Global and Chinese markets of industrial pH meters 2022-2028: Research Report on technology, participants, trends, market size and share
Metasploit (MSF) uses MS17_ 010 (eternal blue) encoding:: undefined conversionerror problem
3 find the greatest common divisor and the least common multiple
Overview of Fourier analysis
How to quickly experience oneos
Depth first DFS and breadth first BFS -- traversing adjacency tables
2022 Software Test Engineer salary increase strategy, how to reach 30K in three years
【无标题】
Tensor attribute statistics
一文搞定JVM的内存结构
[groovy] mop meta object protocol and meta programming (execute groovy methods through metamethod invoke)