当前位置:网站首页>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")
边栏推荐
- Activate function and its gradient
- 分布式解决方案之TCC
- Unity Max and min constraint adjustment
- [untitled]
- QT creator 7 beta release
- How to create a thread
- Starting from 1.5, build a micro Service Framework -- log tracking traceid
- [digital signal denoising] improved wavelet modulus maxima digital signal denoising based on MATLAB [including Matlab source code 1710]
- Vcomp110.dll download -vcomp110 What if DLL is lost
- Nacos installation and service registration
猜你喜欢

Metaverse Ape获Negentropy Capital种子轮融资350万美元

Common model making instructions

Activate function and its gradient

Lesson 1: serpentine matrix

I closed the open source project alinesno cloud service

Tensor attribute statistics

Golang writes the opening chapter of selenium framework

EasyCVR集群部署如何解决项目中的海量视频接入与大并发需求?

Ultrasonic sensor flash | LEGO eV3 Teaching

First, redis summarizes the installation types
随机推荐
I closed the open source project alinesno cloud service
Nangou Gili hard Kai font TTF Download with installation tutorial
Navigation day answer applet: preliminary competition of navigation knowledge competition
一文搞定JVM的内存结构
Metaverse ape ape community was invited to attend the 2022 Guangdong Hong Kong Macao Great Bay metauniverse and Web3.0 theme summit to share the evolution of ape community civilization from technology
Depth first DFS and breadth first BFS -- traversing adjacency tables
Global and Chinese market of networked refrigerators 2022-2028: Research Report on technology, participants, trends, market size and share
一文搞定JVM常见工具和优化策略
Post-90s tester: "after joining Ali, this time, I decided not to change jobs."
Qtquick3d real time reflection
Google Maps case
a-tree 树的全部展开和收起
Global and Chinese markets for children's amusement facilities 2022-2028: Research Report on technology, participants, trends, market size and share
90后测试员:“入职阿里,这一次,我决定不在跳槽了”
opencv 判断点在多边形内外
基于STM32的ADC采样序列频谱分析
Nacos installation and service registration
audiopolicy
3 find the greatest common divisor and the least common multiple
Double pointeur de liste liée (pointeur rapide et lent, pointeur séquentiel, pointeur de tête et de queue)