<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Selenium4使用find_element(by=By.**, value=*)來替換了原來的find_element_by_* 的方法,使用find_elements(by=By.*, value=*)來替換了原來的find_elements_by_* 的方法。
By類定義在 site-packagesseleniumwebdrivercommonby.py中:
這就是Selenium4的8種定位方法
元素本身是什麼:HTML靜態頁面中的的一個標籤
元素定位一般而言是基於元素自身所包含有的特點來進行定位的。
包括:標籤的名稱(決定元素是什麼)、標籤的屬性(決定元素有什麼特質),標籤的文字
ID = “id”
XPATH = “xpath”
LINK_TEXT = “link text”
PARTIAL_LINK_TEXT = “partial link text”
NAME = “name”
TAG_NAME = “tag name”
CLASS_NAME = “class name”
CSS_SELECTOR = “css selector”
xpath:定位界萬金油,有自己的獨特語法,定位速度慢,基於樹狀結構形態定位,使用Copy XPath, Copy full
XPath來確定位置
總結:有id用id,沒id用name,都不行用css/xpath,連結可以用link text。find_element元素定位如果同時有多個結果,預設返回定位的第一個結果;find_elements元素定位返回一個列表
測試Selenium4的8種元素定位方法
輸入欄輸入yoga,點選搜尋
範例網站
京東
範例程式碼
import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.service import Service service = Service(executable_path=r"C:Program Files (x86)GoogleChromeApplicationchromedriver.exe") driver = webdriver.Chrome(service=service) driver.get(url="https://www.jd.com/") # id driver.find_element(by=By.ID,value="key").send_keys("yoga") # css selector driver.find_element(by=By.CSS_SELECTOR,value="#search > div > div.form > button").click() time.sleep(3) driver.quit()
結果展示
用NAME元素輸入yoga,用LINK_TEXT定位how123,用PARTIAL_LINK_TEXT定位hao123
範例網站
可以自行百度
範例程式碼
import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.service import Service service = Service(executable_path=r"C:Program Files (x86)GoogleChromeApplicationchromedriver.exe") driver = webdriver.Chrome(service=service) driver.get(url="https://www.baidu.com/") # id driver.find_element(by=By.NAME,value="wd").send_keys("yoga") time.sleep(3) driver.get(url="https://www.baidu.com/") # link text driver.find_element(by=By.LINK_TEXT,value="hao123").click() time.sleep(3) # css selector driver.get(url="https://www.baidu.com/") driver.find_element(by=By.PARTIAL_LINK_TEXT,value="1").click() time.sleep(3) driver.quit()
結果展示
點選熱搜第一
範例網站
範例程式碼
import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.service import Service service = Service(executable_path=r"C:Program Files (x86)GoogleChromeApplicationchromedriver.exe") driver = webdriver.Chrome(service=service) driver.get(url="https://weibo.com/newlogin?tabtype=search&openLoginLayer=0&url=") time.sleep(6) # Redirect # css selector driver.find_element(by=By.CSS_SELECTOR,value="#scroller > div.vue-recycle-scroller__item-wrapper > div:nth-child(2) > div > div > a > div > div > div.woo-box-item-flex").click() time.sleep(3) # xpath driver.get(url="https://weibo.com/newlogin?tabtype=search&openLoginLayer=0&url=") time.sleep(6) driver.find_element(by=By.XPATH,value='//*[@id="scroller"]/div[1]/div[2]/div/div/a/div/div/div[1]').click() time.sleep(3) driver.quit()
結果展示
CSDN判定圖片違規,無法上傳
去除首頁作弊通知彈窗
範例平臺
範例程式碼
import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.service import Service service = Service(executable_path=r"C:Program Files (x86)GoogleChromeApplicationchromedriver.exe") driver = webdriver.Chrome(service=service) driver.get(url="http://doudouwan.com/") # tag name el = driver.find_elements(by=By.TAG_NAME,value="a")[83] # el2 = driver.find_elements(by=By.CLASS_NAME,value='layui-layer-btn0')[0] # for i in range(len(el)): # if el[i] == el2: # print(i) time.sleep(3) # delete all cookies in this website, and do not need to refresh driver driver.delete_all_cookies() # xpath driver.get(url="http://doudouwan.com/") time.sleep(6) driver.find_elements(by=By.CLASS_NAME,value='layui-layer-btn0')[0].click() time.sleep(3) driver.quit()
結果展示
到此這篇關於Selenium 4.2.0 標籤定位8種方法的文章就介紹到這了,更多相關Selenium標籤定位內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45