使用Selenium和Python查找不带任何名称或类的元素
我使用的是Selenium,我想抓取“a”标记,以便导航到我的用户配置文件。最好的方法是什么 以下是HTML:使用Selenium和Python查找不带任何名称或类的元素,python,selenium,xpath,css-selectors,webdriverwait,Python,Selenium,Xpath,Css Selectors,Webdriverwait,我使用的是Selenium,我想抓取“a”标记,以便导航到我的用户配置文件。最好的方法是什么 以下是HTML: <div class="parent-cont"> <div class="akd3 dafk4 dfan4">...</div> <div class="avndkd dakdf">...</div> <div class="fjkad
<div class="parent-cont">
<div class="akd3 dafk4 dfan4">...</div>
<div class="avndkd dakdf">...</div>
<div class="fjkad fdadj dfakees">
<a aria-label="tag" class="oa2 g5iad jhuo" href="/profile.php?id=1792" role="link" tabindex="0">
<div class="dsks dssks">...</div>
<div class="dka dk2 fdakdd">...</div>
</a>
</div>
</div>
...
...
要定位元素,可以使用以下任一方法:
- 使用
:css\u选择器
element = driver.find_element_by_css_selector("a[aria-label='tag'][href='/profile.php?id=1792']")
- 使用
:xpath
element = driver.find_element_by_xpath("//a[@aria-label='tag' and @href='/profile.php?id=1792']")
理想情况下,为了定位元素,您需要对元素的可见性进行归纳。\ u element\u located(),您可以使用以下任一方法:
- 使用
:CSS\u选择器
element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "a[aria-label='tag'][href='/profile.php?id=1792']")))
- 使用
:XPATH
element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//a[@aria-label='tag' and @href='/profile.php?id=1792']")))
- 注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC