当前位置: 首页 > 面试题库 >

用selenium刮网

曾新立
2023-03-14
问题内容

我正尝试在此网站上搜索company names, code, industry, sector, mkt cap, etcselenium表中的清单。我是新手,并编写了以下代码:

path_to_chromedriver = r'C:\Documents\chromedriver'
browser = webdriver.Chrome(executable_path=path_to_chromedriver)

url = r'http://sgx.com/wps/portal/sgxweb/home/company_disclosure/stockfacts'
browser.get(url)

time.sleep(15)
output = browser.page_source
print(output)

但是,我可以获取以下标签,但不能获取其中的数据。

            <div class="table-wrapper results-display">
                <table>
                    <thead>
                        <tr></tr>
                    </thead>
                    <tbody></tbody>
                </table>
            </div>
            <div class="pager results-display"></div>

我以前也尝试过BS4进行刮擦,但失败了。任何帮助深表感谢。


问题答案:

结果是在一个iframe -切换到它,然后得到.page_source

iframe = driver.find_element_by_css_selector("#mainContent iframe")
driver.switch_to.frame(iframe)

我还要添加一个等待表加载的方法:

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

wait = WebDriverWait(driver, 10)

# locate and switch to the iframe
iframe = driver.find_element_by_css_selector("#mainContent iframe")
driver.switch_to.frame(iframe)

# wait for the table to load
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, '.companyName')))

print(driver.page_source)


 类似资料:
  • > 取文本文件booktitle.txt,它是书名列表。 然后使用Python/Selenium在网站goodreads.com中搜索该标题。 获取结果的URL并创建一个新的.csv文件,其中列1=书名,列2=站点URL

  • 我正试图从以下URL中刮取球员姓名和位置:https://theDraftNetwork.com/articles/2021-NFL-draft-big-board-marino

  • 我试图使用Selenium从代码中获得jpg。我已经设法找到了链接点击获得我的jpg所在的位置。(真倒霉!我刚接触硒)。所有的窗户都随着它的点击而打开。与刮刮乐相比,它真的很慢,所以如果有人能告诉我一个更快的方法,那就太好了。 我试图搜索的网站是www.rosegal.com。我正在刮的类别是大尺寸的背心。这第一页有60个产品在它。如果单击这些产品,它会将您带到一个产品页面,在该页面上您可以选择所

  • 因此,我正在尝试webscrape https://data.bls.gov/cgi-bin/surveymost?bls,并且能够弄清楚如何通过点击进行webscrape以获得一个表。 我正在练习的选择是在您选择与薪酬下的“雇用成本指数(ECI)文职(未调整)-CIU1010000000000A”相关联的复选框之后,然后选择“检索数据”。 处理完这两个之后,将显示一个表。这就是我要刮的桌子。 下

  • 新编码器来了。一段时间以来,我一直试图在一个非常基于java的网站上删除一段文本,现在使用Selenium。我不知道这一点我做错了什么。 试图刮取的元素的图像: 我试图在这个容器中刮取那个美元金额,这样我最终就可以在我正在构建的每日报告中使用它。 以下是网站链接:https://explorer.helium.com/accounts/13pm9jur7wpjaf7evwgq5eqaartppu2

  • 我正在写一个小的抓取程序,它导航到一个包含链接列表的页面, 它单击第一个链接,打开一个新页面,获取一些详细信息,然后导航回包含链接列表的页面,然后尝试查找下一个链接,但我得到: 组织。openqa。硒。StaleElementReferenceException:stale元素引用:元素未附加到页面文档 你知道我该怎么避免吗?