【发布时间】:2021-05-21 04:43:26
【问题描述】:
这是 HTML 语法,但我想使用 find_element_by_css_selector 使用值“ADD QUERY”定位元素。
HTML 图像:
【问题讨论】:
标签: python-3.x selenium-webdriver xpath css-selectors webdriverwait
这是 HTML 语法,但我想使用 find_element_by_css_selector 使用值“ADD QUERY”定位元素。
HTML 图像:
【问题讨论】:
标签: python-3.x selenium-webdriver xpath css-selectors webdriverwait
要定位元素,您可以使用以下任一Locator Strategies:
使用CSS_SELECTOR:
element = driver.find_element(By.CSS_SELECTOR, "div.global-button-primary.telemetry-button")
使用XPATH:
element = driver.find_element(By.XPATH, "//div[contains(@class, 'global-button-primary') and contains(@class, 'telemetry-button')][contains(., 'ADD QUERY')]")
理想情况下,要定位您需要为WebDriverWait 诱导visibility_of_element_located() 的元素,您可以使用以下任一Locator Strategies:
使用CSS_SELECTOR:
element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.global-button-primary.telemetry-button")))
使用XPATH:
element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[contains(@class, 'global-button-primary') and contains(@class, 'telemetry-button')][contains(., 'ADD QUERY')]")))
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
【讨论】: