如何使用Python中的Selenium以特定样式定位div?

问题描述 投票:0回答:3

嗨,我正试图瞄准一个颜色选择器弹出。 Selenium找不到选择器中的元素,我认为它与网站代码中有很多相同的div这一事实有关。

我的想法是我必须按风格选择,因为这是唯一不同的东西。(见截图)

但我无法按照风格进行选择

我通过Xpath和CSS选择器尝试过。但我一定是做错了。

我现在拥有的是:


driver.find_element_by_class_name("sp-replacer").click()

driver.find_element_by_css_selector(".div[style='position: absolute; top: 721.203px; left: 0px;']")

enter image description here

python selenium selenium-webdriver xpath selenium-chromedriver
3个回答
1
投票

尝试类似的东西:

// div [contains(@ class,'some_wanted_class')并包含(@ class,'other_wanted_class')而不包含(包含(@ class,'some_unwanted_term_in_class'))]


1
投票

这是我宁愿使用的xpath,因为类名不同。

//div[@class='sp-container sp-light sp-buttons-disabled sp-palette-disabled']

1
投票

使用以下CSS选择器。

element=driver.find_element_by_css_selector('div.sp-container.sp-light[style="position: absolute; top: 721.203px; left: 0px;"]')

要处理动态元素,请使用带有CSS选择器定位器的WebdriverWait。

element=WebDriverWait(driver,40).until(expected_conditions.element_to_be_clickable((By.CSS_SELECTOR,'div.sp-container.sp-light[style="position: absolute; top: 721.203px; left: 0px;"]')))

请注意,您需要进行以下导入

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions
© www.soinside.com 2019 - 2024. All rights reserved.