【问题标题】:How to extract multiple text using selenium python如何使用 selenium python 提取多个文本
【发布时间】:2021-09-30 13:53:29
【问题描述】:

我正在滚动谷歌工作页面以提取多个公司名称,但只获得 2 条记录。

谁能建议我如何调整下面的代码,以使所有公司名称出现在单词“via”旁边,如下图所示。

driver.get("https://www.google.com/search?q=bank+jobs+in+india&rlz=1C1CHBF_enIN869IN869&oq=upsc+jo&aqs=chrome.1.69i57j0i433i512j0i131i433i512j0i512l3j0i131i433i512l2j0i512j0i433i512&sourceid=chrome&ie=UTF-8&ibp=htl;jobs&sa=X&sqi=2&ved=2ahUKEwjR27GN_qPzAhX4ppUCHb_0B_QQkd0GegQIORAB#fpstate=tldetail&sxsrf=AOaemvIxuJXh3if0tw7ezZfjkXRe5DSxsA:1632911697417&htivrt=jobs&htidocid=hr3yUBTZAssve05hAAAAAA%3D%3D")

name = []
cnt = 0
try:
    while True:
        element = driver.find_elements_by_xpath("//div[@role='treeitem']")
        driver.execute_script("arguments[0].scrollIntoView(true);", element[cnt])
        time.sleep(2)
        try:
            nam = driver.find_element_by_xpath("//div[contains(@class, 'oNwCmf')]").text
            nam1 = nam.split("\nvia ")[1]
            name.append(nam1.split("\n")[0])
        except:
            name.append("")
        cnt=cnt+1
except:
    pass

【问题讨论】:

    标签: python-3.x selenium-webdriver


    【解决方案1】:

    试试这样:

    使用 WebElement element 获取名称 nam(而不是使用驱动程序查找)。由于我们现在在元素中查找元素,因此在 xpath 中添加 dot。这将获得该特定元素的名称。

    try:
        while True:
            element = driver.find_elements_by_xpath("//div[@role='treeitem']")
            driver.execute_script("arguments[0].scrollIntoView(true);", element[cnt])
            time.sleep(2)
            try:
                nam = element[cnt].find_element_by_xpath(".//div[contains(@class, 'oNwCmf')]").text # finds the name of that particular element[cnt], add a dot to find element within element.
                print(nam)
                nam1 = nam.split("\nvia ")[1]
                name.append(nam1.split("\n")[0])
            except:
                name.append("")
            cnt=cnt+1
    except:
        pass
    

    【讨论】:

      猜你喜欢
      • 2016-01-11
      • 2020-09-24
      • 2020-11-03
      • 2020-11-05
      • 1970-01-01
      • 1970-01-01
      • 2018-04-13
      • 2017-06-07
      • 1970-01-01
      相关资源
      最近更新 更多