为了账号安全,请及时绑定邮箱和手机立即绑定

使用python如何单击按钮来抓取隐藏的内容

使用python如何单击按钮来抓取隐藏的内容

慕村225694 2022-09-20 15:20:02
你好,我写了一个函数,使用硒点击“顾问”按钮,这样我就可以刮掉隐藏的表格。当我运行它时,我的chrome驱动程序成功打开并访问该页面。但按钮没有被点击。我希望,你们帮我解决这个问题?注意:我是抓取技术的新手。也请让我知道,如果这可以完成.下面是一个代码:bs4def scrapper():    u = "https://teqatlas.com/products-and-services/0chain"    browser = webdriver.Chrome(executable_path=binary_path)    wait = WebDriverWait(browser, 10)    browser.set_page_load_timeout(10)    # stop load after a timeout    try:        browser.get(u)    except TimeoutException:        browser.execute_script("window.stop();")            button = browser.find_element_by_xpath('//button[@class="o5ph61-3 eBqrHG"]')    if button:        button.click()scrapper() 
查看完整描述

3 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

这有效吗?我也是硒的新手。不过,我在这里find_element_by_xpath改为find_element_by_class_name。


from selenium.webdriver.common.action_chains import ActionChains

def business_description_scrapper():

    u = "https://teqatlas.com/products-and-services/0chain"

    browser = webdriver.Chrome(executable_path=binary_path)

    wait = WebDriverWait(browser, 10)

    browser.set_page_load_timeout(10)

    # stop load after a timeout

    try:

        browser.get(u)

    except TimeoutException:

        browser.execute_script("window.stop();")


    button = browser.find_element_by_class_name("o5ph61-3.eBqrHG")

    if button:

        actions = ActionChains(browser)

        actions.click(button).perform()


business_description_scrapper() 

我测试了它,按钮被点击了。


查看完整回答
反对 回复 2022-09-20
?
Qyouu

TA贡献1786条经验 获得超11个赞

您正在使用的 x 路径不正确。请选择以下 xpath 以单击按钮:


WebDriverWait(browser, 20).until(EC.presence_of_element_located((By.XPATH, "//button[text()='Advisories']"))).click()

您需要添加以下导入:


from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.common.by import By

from selenium.webdriver.support import expected_conditions as EC


查看完整回答
反对 回复 2022-09-20
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

from selenium import webdriver

import pandas as pd

from selenium.webdriver.firefox.options import Options


options = Options()

options.add_argument('--headless')

driver = webdriver.Firefox(options=options)


driver.get("https://teqatlas.com/products-and-services/0chain")


btn = driver.find_element_by_css_selector("button.o5ph61-3.faMQuX").click()

df = pd.read_html(driver.page_source)[0]


df.to_csv("data.csv", index=False)


driver.quit()

输出:在线查看

//img1.sycdn.imooc.com//63296a2900013c7316870884.jpg

查看完整回答
反对 回复 2022-09-20
  • 3 回答
  • 0 关注
  • 114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信