簡體   English   中英

Python Selenium 選擇元素的幾個問題

[英]Python Selenium select element a few questions

我有兩個問題。

  1. 我正在嘗試獲取文本值(中等覆蓋率,液體公式)但是沒有定位器。 這些文本值與頁面不同,但位置相同。 有沒有辦法讓這個文字像
find_element_by_class('css_s6sd4y.eanm7710') -> go down to one more row then select the element

在此處輸入圖片說明

  1. 有一個類名。 但我想知道是否有另一種方法可以使用 data-at = 'sku_size_label' 查找元素。 什么是“data-at”定位器?

在此處輸入圖片說明

對於第一個問題,您可以使用以下代碼:

獲得中等覆蓋率:

wait = WebDriverWait(driver, 10)
ele = wait.until(EC.visibility_of_element_located((By.XPATH, "//img[@alt='Medium Coverage']/.."))).text
print(ele)

要么

wait = WebDriverWait(driver, 10)
ele = wait.until(EC.visibility_of_element_located((By.XPATH, "//img[@alt='Medium Coverage']/.."))).get_attribute('innerHTML')
print(ele)

得到液體公式:

wait = WebDriverWait(driver, 10)
ele = wait.until(EC.visibility_of_element_located((By.XPATH, "//img[@alt='Liquid Formula']/.."))).text
print(ele)

要么

 wait = WebDriverWait(driver, 10)
 ele = wait.until(EC.visibility_of_element_located((By.XPATH, "//img[@alt='Liquid Formula']/.."))).get_attribute('innerHTML')
 print(ele)

對於您的第二個問題:-

是的,您可以在 xpath 或 css 中使用data-at = 'sku_size_label'

下面的Xpath:

//span[contains(@data-at, 'sku_size_label')]

CSS如下:

span[data-at = 'sku_size_label']

對於這個問題:

什么是'data-at' locator called? - 它們不稱為定位器,它們基本上是各自標簽的屬性。

進口:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM