如何从位于selenium python中另一个锚定标记内的锚定标记中刮取数据
我正在使用python和SeleniumWeb驱动程序从动态站点抓取数据 如何刮取嵌套锚定标记内的元素的href如何从位于selenium python中另一个锚定标记内的锚定标记中刮取数据,python,selenium,xpath,css-selectors,webdriverwait,Python,Selenium,Xpath,Css Selectors,Webdriverwait,我正在使用python和SeleniumWeb驱动程序从动态站点抓取数据 如何刮取嵌套锚定标记内的元素的href <h3 class=""> <a href="some link/">Ultimate Content Writing</a> </h3> 它包含不需要的操作并减慢了我的程序 如何更有效地获取每个链接的href?属性不在标记中,而是在中: 使用css\u选择器: print(drive
<h3 class="">
<a href="some link/">Ultimate Content Writing</a>
</h3>
它包含不需要的操作并减慢了我的程序
如何更有效地获取每个链接的href?属性不在
标记中,而是在中:
- 使用
css\u选择器
:
print(driver.find_elements_by_css_selector("h3>a").get_attribute("href"))
- 使用
xpath
:
print(driver.find_elements_by_xpath("//h3/a").get_attribute("href"))
- 使用
CSS\u选择器
和get\u属性(“innerHTML”)
:
- 使用
XPATH
和文本属性:
print([my_elem.get_attribute("href") for my_elem in WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//h3/a")))])
- 注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
我不是专家,但是有一种通过css\u选择器查找元素方法,所以你可以使用links=driver。通过css\u选择器查找元素('h3>a')
来查找h3标题中包含的所有链接。你能分享一下你期望得到的内容和当前输出的例子吗?谢谢@pawel,为了这么快的反应。这帮我解决了问题。谢谢你的回复。CSS选择器完成了这项工作。但是,不能使用XPATH,因为它是一个动态站点,每次刷新XPATH都会更改。
print([my_elem.get_attribute("href") for my_elem in WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//h3/a")))])
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC