运行基于selenium的exe来清除

2024-04-25 22:00:15 发布

您现在位置:Python中文网/ 问答频道 /正文

什么在起作用

我创建了一个Python文件,它使用Selenium打开Firefox浏览器,并将数据刮到excel文件中。我还将此文件转换为exe。exe期间未创建任何错误。这是由Pyinstaller完成的。你知道吗

什么不起作用

当我在官方笔记本电脑上运行新创建的exe时,它不会打开浏览器或给出任何输出。只需一个命令窗口即可立即打开和关闭。你知道吗

我的意图是什么

我的意图是与同事分享这个脚本,这样所需的数据可以很容易地刮到excel文件在任何个人电脑上,将是一个有效的过程,而不是在网站上查找相同的。我不希望他们有任何管理权限,以改变他们的电脑上的任何东西。此外,我不希望他们有多个浏览器打开他们的电脑

问题

我需要在每台电脑上安装并提供geckodriver路径吗?也许这就是Firefox不开放的原因?你知道吗

下面的代码

     from selenium import webdriver
     from selenium.webdriver.common.by import By
     from selenium.webdriver.support.ui import WebDriverWait
     import pandas as pd


     productName = []
     number = []
     divList = []

     driver = webdriver.Firefox()
     driver.get("website")

     radioBtn = driver.find_element_by_id("ContentPlaceHolder1_company")
     radioBtn.click()


     element = driver.find_element_by_id("ContentPlaceHolder1_TextBoxInput1")
     element.send_keys("CompanyName")


    Search = driver.find_element_by_id("ContentPlaceHolder1_view1Continue")
    Search.click()

   driver.implicitly_wait(10)

   driver.find_element_by_id("ctl00_ContentPlaceHolder1_92564").click()

    driver.implicitly_wait(2)

    divList = driver.find_elements_by_class_name('nopgbrk')

    for div in divList:
    number.append(div.find_element_by_xpath('a').text)
    productName.append(div.find_element_by_xpath('span').text)

    df = pd.DataFrame({'Product':productName, 'Registration': number})

    df.to_excel("C:\Python\Scrapeddata\Scrape.xls")

Tags: 文件fromimportidbydriver浏览器element