Web的8種(6+2)元素+常用定位方法

来源:https://www.cnblogs.com/nf0000/archive/2022/09/12/16662738.html
-Advertisement-
Play Games

Web的8種(6+2)元素+定位方法 - id : id屬性 - name : name屬性 - class_name : - tag_name :標簽名 - css定位表達式: 局部html代碼 <input type="text" class="s_ipt" name="wd" id="kw" ...


Web的8種(6+2)元素+定位方法

- id : id屬性

- name : name屬性

- class_name :

- tag_name :標簽名

- css定位表達式:

局部html代碼

<input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off">

應用於a標簽的兩種元素

  • link_text:對於a標簽的顯示文字進行定位

  • partial_link_text:(一搬對於a標簽的顯示文字進行部分定位)

    <a href="http://www.baidu.com" id="fwA" target="_blank">**訪問 百度 網站**</a>

定位

driver.find_element_by_link_text("訪問 百度 網站")

driver.find_element_by_partial_link_text("訪問")

獲取元素的方式-xpath

獲取元素-By

1.導包/模塊 from selenium.webdriver.common.by import By
def find_element(self, by=By.ID, value=None):
def find_elements(self, by=By.XPATH, value=None):

如果有多個相同的文本:

find_element()和find_elements()的區別

  1. find_element()的返回結果是一個WebElement對象,如果符合條件的有多個,預設返回找到的第一個,如果沒有找到則拋NoSuchElementException異常。
  2. find_elements()的返回結果是一個包含所有符合條件的WebElement對象的列表,如果未找到,則返回一個空列表。

selenium是一款十分強大的Web應用自動化框架,我們可以通過它來自動操控瀏覽器。操控瀏覽器的實質是操控瀏覽器的界面元素,因此定位元素是使用selenium的關鍵,selenium中通過find_element方法來完成定位。
image

在4.1.x版本後如圖的方法被棄用用;
一般會提示報錯:
AttributeError: ‘WebDriver‘ object has no attribute ‘find_element_by_xx
解決方法:
** 1. 降級到4.0以前的版本(4.1.1可以用,但是已經劃線了這些方法)**
** 2.使用By模塊的方式**


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言 在這個人人都是自媒體的時代,為了擴大個人影響力同時預防文章被盜版至其他平臺,多平臺發佈文章就成了創作者們的一大痛點,為瞭解決這一痛點就需要將文章的編輯到發佈無縫集成。 現在要實現這一功能,開發一個完全可控的Markdown編輯器就是第一步。 本文源碼已上傳Github:Github hxsfx ...
  • 組合模式(Composite Pattern),又叫部分整體模式,是用於把一組相似的對象當作一個單一的對象。組合模式依據樹形結構來組合對象,用來表示部分以及整體層次。這種類型的設計模式屬於結構型模式,它創建了對象組的樹形結構。 ...
  • 反射 筆記目錄:(https://www.cnblogs.com/wenjie2000/p/16378441.html) 一個需求引出反射 請看下麵的問題 根據配置文件 re.properties 指定信息,創建對象並調用方法(以下為文件內容) classfullpath=com.hspedu.Ca ...
  • 一、多線程概述 1.1、進程和線程的概念 1.1.1、進程 進程是執行程式的一次執行過程,是一個動態的過程,是一個活動的實體,是系統資源分配的單位 一個應用程式的運行就可以被看做是一個進程 1.1.2、線程 線程,是運行中的實際的任務執行者,一般的,一個進程中包含了多個可以同時運行的線程 線程就是獨 ...
  • JavaIO流04 4.常用的類03 4.4節點流和處理流02 4.4.5對象處理流-ObjectInputStream和ObjectOutputStream 1.序列化和反序列化 例子1: 看一個需求 將int num= 100這個int 類型的數據保存到文件中,註意不是100 數字,而是int ...
  • 傳送門: https://www.cnblogs.com/greentomlee/p/12314064.html github: Leezhen2014: https://github.com/Leezhen2014/python_deep_learning 在第二篇中介紹了用數值微分的形式計... ...
  • 今年教師節前夕,我特意用Python做了個學生點名系統,非常好用,送給各科老師、輔導員當節日禮物,老師們都喜滋滋,說平常逃課就原諒我了,我心想,這次畢業應該不是問題了~ 本文背景 根據我的調查,現在的學生大部分都很積極,會主動舉手回答問題。但是,也會遇到一些不好的情況,比如年級越高主動舉手的人越少, ...
  • 前言 嗨嘍~大家好呀,這裡是魔王吶 ! 壁紙,有多種的類別和各種不同的風格,如: 風景、美女、唯美、動漫、花卉、節日等適合您的高清桌面壁紙 今天我們就來採集一下叭~ 環境使用: Python 3.8 解釋器 Pycharm 編輯器 需安裝python第三方模塊 : requests win + R ...
一周排行
    -Advertisement-
    Play Games
  • Dapr Outbox 是1.12中的功能。 本文只介紹Dapr Outbox 執行流程,Dapr Outbox基本用法請閱讀官方文檔 。本文中appID=order-processor,topic=orders 本文前提知識:熟悉Dapr狀態管理、Dapr發佈訂閱和Outbox 模式。 Outbo ...
  • 引言 在前幾章我們深度講解了單元測試和集成測試的基礎知識,這一章我們來講解一下代碼覆蓋率,代碼覆蓋率是單元測試運行的度量值,覆蓋率通常以百分比表示,用於衡量代碼被測試覆蓋的程度,幫助開發人員評估測試用例的質量和代碼的健壯性。常見的覆蓋率包括語句覆蓋率(Line Coverage)、分支覆蓋率(Bra ...
  • 前言 本文介紹瞭如何使用S7.NET庫實現對西門子PLC DB塊數據的讀寫,記錄了使用電腦模擬,模擬PLC,自至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1.Windows環境下鏈路層網路訪問的行業標準工具(WinPcap_4_1_3.exe)下載鏈接:http ...
  • 從依賴倒置原則(Dependency Inversion Principle, DIP)到控制反轉(Inversion of Control, IoC)再到依賴註入(Dependency Injection, DI)的演進過程,我們可以理解為一種逐步抽象和解耦的設計思想。這種思想在C#等面向對象的編 ...
  • 關於Python中的私有屬性和私有方法 Python對於類的成員沒有嚴格的訪問控制限制,這與其他面相對對象語言有區別。關於私有屬性和私有方法,有如下要點: 1、通常我們約定,兩個下劃線開頭的屬性是私有的(private)。其他為公共的(public); 2、類內部可以訪問私有屬性(方法); 3、類外 ...
  • C++ 訪問說明符 訪問說明符是 C++ 中控制類成員(屬性和方法)可訪問性的關鍵字。它們用於封裝類數據並保護其免受意外修改或濫用。 三種訪問說明符: public:允許從類外部的任何地方訪問成員。 private:僅允許在類內部訪問成員。 protected:允許在類內部及其派生類中訪問成員。 示 ...
  • 寫這個隨筆說一下C++的static_cast和dynamic_cast用在子類與父類的指針轉換時的一些事宜。首先,【static_cast,dynamic_cast】【父類指針,子類指針】,兩兩一組,共有4種組合:用 static_cast 父類轉子類、用 static_cast 子類轉父類、使用 ...
  • /******************************************************************************************************** * * * 設計雙向鏈表的介面 * * * * Copyright (c) 2023-2 ...
  • 相信接觸過spring做開發的小伙伴們一定使用過@ComponentScan註解 @ComponentScan("com.wangm.lifecycle") public class AppConfig { } @ComponentScan指定basePackage,將包下的類按照一定規則註冊成Be ...
  • 操作系統 :CentOS 7.6_x64 opensips版本: 2.4.9 python版本:2.7.5 python作為腳本語言,使用起來很方便,查了下opensips的文檔,支持使用python腳本寫邏輯代碼。今天整理下CentOS7環境下opensips2.4.9的python模塊筆記及使用 ...