Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从位于selenium python中另一个锚定标记内的锚定标记中刮取数据_Python_Selenium_Xpath_Css Selectors_Webdriverwait - Fatal编程技术网

如何从位于selenium python中另一个锚定标记内的锚定标记中刮取数据

如何从位于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

我正在使用python和SeleniumWeb驱动程序从动态站点抓取数据

如何刮取嵌套锚定标记内的元素的href

<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