Python Selenium select 元素几个问题
Python Selenium select element a few questions
我有两个问题。
- 我正在尝试获取文本值(Medium Coverage,Liquid Formula)但是没有定位器。这些文本值与页面不同,但位置相同。有什么办法可以让这个文本像
find_element_by_class('css_s6sd4y.eanm7710') -> go down to one more row then select the element
- 有一个class名字。但是我想知道是否有另一种方法可以使用 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 中使用 data-at = 'sku_size_label'
或 css :
下面的 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
我有两个问题。
- 我正在尝试获取文本值(Medium Coverage,Liquid Formula)但是没有定位器。这些文本值与页面不同,但位置相同。有什么办法可以让这个文本像
find_element_by_class('css_s6sd4y.eanm7710') -> go down to one more row then select the element
- 有一个class名字。但是我想知道是否有另一种方法可以使用 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 中使用 data-at = 'sku_size_label'
或 css :
下面的 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