查找硒中的特定元素 python

FInd specific element in selenium python

我正在尝试让我的程序在此 html 代码上找到(然后单击)使用 selenium 的程序:

<svg aria-label="Add Photo or Video" class="_8-yf5 " color="#262626" fill="#262626" height="24" role="img" viewBox="0 0 48 48" width="24"></svg>

我将使用什么函数来查找这个特定元素? 谢谢

请使用这个 xpath

yourEle = driver.find_element_by_xpath("(//svg[@aria-label='Add Photo or Video'])")

这是一个 svg 网络元素。您可以这样定位(通过 xpath):

//*[name()='svg' and @aria-label='Add Photo or Video']

Selenium中基本上有4种点击方式。

我将使用这个 xpath

//*[name()='svg' and @aria-label='Add Photo or Video']

代码试用 1 :

time.sleep(5)
driver.find_element_by_xpath("//*[name()='svg' and @aria-label='Add Photo or Video']").click()

代码试用 2 :

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//*[name()='svg' and @aria-label='Add Photo or Video']"))).click()

代码试用 3 :

time.sleep(5)
button = driver.find_element_by_xpath("//*[name()='svg' and @aria-label='Add Photo or Video']")
driver.execute_script("arguments[0].click();", button)

代码试用 4 :

time.sleep(5)
button = driver.find_element_by_xpath("//*[name()='svg' and @aria-label='Add Photo or Video']")
ActionChains(driver).move_to_element(button).click().perform()

进口:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains

PS : 如果我们有 请检查 dev tools (Google chrome) HTML DOM 中的唯一 个条目。

检查步骤:

Press F12 in Chrome -> 转到 element 部分 -> 执行 CTRL + F -> 然后粘贴 xpath 并查看是否需要 element正在 突出显示 1/1 匹配节点。