Selenium - 根据 class 标签查找 id
Selenium - find id based on class tag
我想用 Selenium (python) 找到一个基于 class
标签的 id
我想查找 html 表格的结果。有 2 个可能的结果,可用或不可用。
这两个选项都会出现在 html 代码中,但是会使用两种不同的 CSS 格式来显示结果并隐藏另一个选项。
我想根据 div class “内容警告”(这是结果)、“隐藏的内容警告”获取 ID(“WarningDisponible”或“WarningIndisponible”) " 不是结果。
这个网站应该有帮助:https://selenium-python.readthedocs.io/locating-elements.html
先用 ContentWarning = driver.find_element_by_class_name('Content Warning')
搜索 div
从那里您可以通过检查 ContentWarning.find_element_by_id('WarningDisponible')
returns 是否有任何结果来在 div 中搜索。
这确实假设 HTML 中没有其他元素 class 名称 'Content Warning' 除了您要查找的 div 之外。
打印 id 属性的值,即 WarningIndisponible
基于 classname Content warning
您可以使用以下任一项 :
使用css_selector
:
print(driver.find_element(By.CSS_SELECTOR, "div.Content.warning > p").get_attribute("id"))
使用xpath
:
print(driver.find_element(By.XPATH, "//div[@class='Content warning']/p").get_attribute("id"))
理想情况下,您需要为 引入 您可以使用以下任一项 :
使用CSS_SELECTOR
:
print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.Content.warning > p"))).get_attribute("id"))
使用XPATH
:
print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='Content warning']/p"))).get_attribute("id"))
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
另一种简单的方法是给出完整的xpath。这样就可以避免混淆
Select(driver.find_element(by=By.XPATH,value='your_complete_xpath')
然后根据您的需要 send_keys()
或 select_by_value("your_value_here")
。
我想用 Selenium (python) 找到一个基于 class
标签的 id
我想查找 html 表格的结果。有 2 个可能的结果,可用或不可用。 这两个选项都会出现在 html 代码中,但是会使用两种不同的 CSS 格式来显示结果并隐藏另一个选项。
我想根据 div class “内容警告”(这是结果)、“隐藏的内容警告”获取 ID(“WarningDisponible”或“WarningIndisponible”) " 不是结果。
这个网站应该有帮助:https://selenium-python.readthedocs.io/locating-elements.html
先用 ContentWarning = driver.find_element_by_class_name('Content Warning')
搜索 div
从那里您可以通过检查 ContentWarning.find_element_by_id('WarningDisponible')
returns 是否有任何结果来在 div 中搜索。
这确实假设 HTML 中没有其他元素 class 名称 'Content Warning' 除了您要查找的 div 之外。
打印 id 属性的值,即 WarningIndisponible
基于 classname Content warning
您可以使用以下任一项
使用
css_selector
:print(driver.find_element(By.CSS_SELECTOR, "div.Content.warning > p").get_attribute("id"))
使用
xpath
:print(driver.find_element(By.XPATH, "//div[@class='Content warning']/p").get_attribute("id"))
理想情况下,您需要为
使用
CSS_SELECTOR
:print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.Content.warning > p"))).get_attribute("id"))
使用
XPATH
:print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='Content warning']/p"))).get_attribute("id"))
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
另一种简单的方法是给出完整的xpath。这样就可以避免混淆
Select(driver.find_element(by=By.XPATH,value='your_complete_xpath')
然后根据您的需要 send_keys()
或 select_by_value("your_value_here")
。