小编DKM*_*DKM的帖子

如何通过 Selenium Python 点击​​某个元素

我正在尝试使用 selenium 浏览器 python 获取 facebook 帐户的数据,但无法找到我可以在单击导出按钮时查找的元素。

请参阅随附的屏幕截图在此输入图像描述

我尝试过,但似乎给我的班级带来了错误。

def login_facebook(self, username, password):
    chrome_options = webdriver.ChromeOptions()
    preference = {"download.default_directory": self.section_value[24]}

    chrome_options.add_experimental_option("prefs", preference)
    self.driver = webdriver.Chrome(self.section_value[20], chrome_options=chrome_options)
    self.driver.get(self.section_value[25])

    username_field = self.driver.find_element_by_id("email")
    password_field = self.driver.find_element_by_id("pass")

    username_field.send_keys(username)
    self.driver.implicitly_wait(10)

    password_field.send_keys(password)
    self.driver.implicitly_wait(10)

    self.driver.find_element_by_id("loginbutton").click()
    self.driver.implicitly_wait(10)

    self.driver.get("https://business.facebook.com/select/?next=https%3A%2F%2Fbusiness.facebook.com%2F")
    self.driver.get("https://business.facebook.com/home/accounts?business_id=698597566882728")
    self.driver.get("https://business.facebook.com/adsmanager/reporting/view?act="
                    "717590098609803&business_id=698597566882728&selected_report_id=23843123660810666")
    # self.driver.get("https://business.facebook.com/adsmanager/manage/campaigns?act=717590098609803&business_id"
    #                 "=698597566882728&tool=MANAGE_ADS&date={}-{}_{}%2Clast_month".format(self.last_month,
    #                                                                                      self.first_day_month,
    #                                                                                      self.last_day_month))

    self.driver.find_element_by_id("export_button").click()
    self.driver.implicitly_wait(10)
    self.driver.find_element_by_class_name("_43rl").click()
    self.driver.implicitly_wait(10)
Run Code Online (Sandbox Code Playgroud)

您能告诉我如何单击“导出”按钮吗?

selenium xpath css-selectors python-2.7 webdriverwait

7
推荐指数
1
解决办法
6816
查看次数

Python从文件夹中删除不在列表中的文件

我正在下面的代码中寻求帮助,我可以从文件夹中删除给定 csv 文件中不可用的文件。我读取 pandas 数据框中的输入文件并将其转换为列表,然后从文件夹中读取文件名,并将文件名与文件夹中的可用文件进行比较,如果存在,则继续,如果不删除。但它正在删除所有文件,包括不匹配的文件。

我只想删除我正在使用 pandas 数据框读取的文件中不存在的文件。

import os
import pandas as pd

path = "Adwords/"

flist = pd.read_csv('C:/mediaops/mapping/adword/file_name.csv')

file_name = flist['fileName'].tolist()

for filename in os.listdir(path):
    print(filename)
    if filename == file_name:
        continue
    elif filename != file_name:
        os.remove(filename)
Run Code Online (Sandbox Code Playgroud)

python

1
推荐指数
1
解决办法
6678
查看次数

Dash 应用程序回调在数据框中追加新条目,并在与任何先前条目匹配时进行替换

我正在尝试构建一个破折号应用程序,它接受用户的输入并将每个条目附加到数据框中,但它正在替换旧条目并生成新条目。我不确定回调出了什么问题。还尝试构建一个逻辑,如果用户条目与数据帧的任何行匹配,那么只有它才会替换其他附加。

我们将非常感谢您的帮助:

@app.callback(Output('save-query', 'children'),
              [Input('save', 'n_clicks')],
              [State('ad_account_id', 'value'),
               State('app_id', 'value'),
               State('access_token', 'value'),
               State('app_secret', 'value'),
               State('metrics', 'value'),
               State('breakdown', 'value'),
               State('start-date', 'date'),
               State('end-date', 'date'),
               State('save-as', 'value')
               ],
              )
def save_query(clicks, ad_account_id, app_id, access_token, app_secret, metrics, breakdown,
               start_date, end_date, save):
    if clicks is not None:
        my_ad_account = ad_account_id
        my_app_id = app_id
        my_access_token = access_token
        my_app_secret = app_secret
        my_metrics = metrics
        my_breakdown = breakdown
        my_start_date = start_date
        my_end_date = end_date
        my_save = str.lower(save)
        data = [[my_save, my_ad_account, my_app_id, my_access_token, my_app_secret, my_metrics, my_breakdown,
                 my_start_date,
                 my_end_date]] …
Run Code Online (Sandbox Code Playgroud)

python python-3.x plotly-dash

1
推荐指数
1
解决办法
1946
查看次数