python-3.x - 需要python中硒的CSS模式来定位元素
问题描述
这是 HTML 语法,但我想使用 find_element_by_css_selector 使用值“ADD QUERY”定位元素。
HTML 图像:
解决方案
要定位元素,您可以使用以下任一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
推荐阅读
- java - 有没有办法使用 swagger codegen 自动生成 java 测试代码?
- sql - Postgres查询以查找连接表中是否已存在组合
- python - 谷歌安全中心 Python API 失败
- python - Pandas,Dataframe,每行列的条件总和
- html - 使 DIV 在其他分辨率和屏幕尺寸上看起来正确对齐?
- javascript - 如何在 Java 中复制 javascript sha256 哈希并获得相同的十六进制输出?
- python - python 3.8.2 global_argparse
- node.js - 使用 MSSQL Node 时不显示行号错误?
- r - 我如何从 Stargazer 获得一张桌子?
- android - Android UI 测试:Espresso 和 UIAutomator