Python 正在等待元素加载带有CSS选择器的标识元素

Python 正在等待元素加载带有CSS选择器的标识元素,python,css,selenium,delay,Python,Css,Selenium,Delay,我正在尝试等待页面中的一些元素加载,然后再继续输入/获取页面中的数据。一些阅读让我想到了这种代码: #including imports in case they are influencing things from selenium.common.exceptions import TimeoutException from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support i

我正在尝试等待页面中的一些元素加载,然后再继续输入/获取页面中的数据。一些阅读让我想到了这种代码:

#including imports in case they are influencing things
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

driver.get('example.com')
try:
    element1_present = EC.presence_of_element_located((By.ID, 'id'))
    WebDriverWait(driver, timeout).until(element1_present)
except TimeoutException:
    print('Timed out waiting for page to load')
#Then get some data from example.com
这很好,但是,我想确定元素是否通过CSS选择器而不是ID出现。对Selenium文档的引用让我感到困惑。它指出
presence\u of_element\u located
方法应该以“locator”作为参数,但是查看
By
文档,我看不出
(By.ID,'ID')
是一个有效的定位器(尽管它显然可以工作,我不理解这一点),更具体地说,我不知道如何将其编码为CSS选择器定位器

我试图用.cssSelector、.CSS、.CSS和其他类似术语代替.ID,并移动括号,但始终返回:

AttributeError: type object 'By' has no attribute 'cssSelector'

或者类似的东西。我显然在某个地方遗漏了一些文档,因为我不明白为什么
ID
By
的有效属性,而
cssSelector
不是。我缺少什么?

您想使用.CSS\u选择器的


对于您的,以下是
By
类可用的属性:

ID = "id"
XPATH = "xpath"
LINK_TEXT = "link text"
PARTIAL_LINK_TEXT = "partial link text"
NAME = "name"
TAG_NAME = "tag name"
CLASS_NAME = "class name"
CSS_SELECTOR = "css selector"