gpt4 book ai didi

python - 等待元素使用 CSS 选择器加载标识元素

转载 作者:行者123 更新时间:2023-11-28 22:26:30 26 4
gpt4 key购买 nike

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

#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_of_element_located 方法应该将“定位器”作为参数,但是查看 By 文档,我看不到 (By.ID, 'id') 是一个有效的定位器(虽然很明显,它可以工作,但我不明白这一点),更具体地说,我不知道如何将其编码为 CSS 选择器定位器。

我已经尝试用 By.cssSelectorBy.CSS 和其他类似的术语来代替 By.ID,并移动括号,但我总是返回:

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

或类似的东西。我显然在某处遗漏了一些文档,因为我无法弄清楚为什么 IDBy 的有效属性而 cssSelector 不是.我错过了什么?

最佳答案

您想使用 By.CSS_SELECTOR


为您的reference , 以下是 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"

关于python - 等待元素使用 CSS 选择器加载标识元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44726847/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com