小编gas*_*shu的帖子

登录 gmail 账户失败(selenium 自动化)

我有一个 Selenium 服务,第一步必须登录到我的 gmail 帐户。此功能在几周前开始工作,但突然登录开始失败,我在浏览器中看到此错误,在 selenium 中的 Chrome 和 Firefox 驱动程序中都尝试过 -

在此处输入图片说明

此错误是在 selenium 服务插入电子邮件、密码并单击登录按钮后出现的。谷歌支持论坛也报告了类似的错误 - https://support.google.com/accounts/thread/10916318?hl=en,他们说“谷歌似乎在他们的登录流程中引入了自动化工具检测!” 但在这个线程中没有解决方案。

其他一些可能有用的细节-

  • 我无法在
    Selenium 打开的浏览器中手动登录 Google 帐户。
  • 但是我可以在 Google Chrome 应用程序中手动登录这些帐户。

如果您需要查看代码,请告诉我,我会在此处发布。提前致谢!

编辑 添加示例代码以供参考。

public void loginGoogleAccount(String emailId, String password) throws Exception {
    ChromeOptions options = new ChromeOptions();
    options.addArguments("--profile-directory=Default");
    options.addArguments("--whitelisted-ips");
    options.addArguments("--start-maximized");
    options.addArguments("--disable-extensions");
    options.addArguments("--disable-plugins-discovery");
    WebDriver webDriver = new ChromeDriver(options);
    webDriver.navigate().to("https://accounts.google.com");
    Thread.sleep(3000);
    try {
        WebElement email = webDriver.findElement(By.xpath("//input[@type='email']"));
        email.sendKeys(emailId);
        Thread.sleep(1000);

        WebElement emailNext = webDriver.findElement(By.id("identifierNext"));
        emailNext.click();
        Thread.sleep(1000);

        WebDriverWait wait = new WebDriverWait(webDriver, 60);
        wait.until(ExpectedConditions.invisibilityOfElementLocated(By.id("identifierNext")));

        Thread.sleep(3000); …
Run Code Online (Sandbox Code Playgroud)

selenium google-chrome webdriver selenium-chromedriver selenium-webdriver

10
推荐指数
2
解决办法
1万
查看次数

pyspark dataframe如果不存在则添加列

我在各种json文件中有json数据而且键的行可能不同,例如

{"a":1 , "b":"abc", "c":"abc2", "d":"abc3"}
{"a":1 , "b":"abc2", "d":"abc"}
{"a":1 ,"b":"abc", "c":"abc2", "d":"abc3"}
Run Code Online (Sandbox Code Playgroud)

我想在列'b','c','d'和'f'上聚合数据,这些数据在给定的json文件中不存在,但可能存在于其他文件中.因为列'f'不存在,我们可以为该列取空字符串.

我正在读取输入文件并聚合这样的数据

import pyspark.sql.functions as f
df =  spark.read.json(inputfile)
df2 =df.groupby("b","c","d","f").agg(f.sum(df["a"]))
Run Code Online (Sandbox Code Playgroud)

这是我想要的最终输出

{"a":2 , "b":"abc", "c":"abc2", "d":"abc3","f":"" }
{"a":1 , "b":"abc2", "c":"" ,"d":"abc","f":""}
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?提前致谢!

apache-spark apache-spark-sql pyspark pyspark-sql

8
推荐指数
2
解决办法
1万
查看次数

在 sagemaker 中进行预测之前,如何预处理输入数据?

我正在使用 java Sagemaker SDK 调用 Sagemaker 端点。我发送的数据在模型可以用于预测之前几乎不需要清理。我怎么能在 Sagemaker 中做到这一点。

我在 Jupyter 笔记本实例中有一个预处理功能,它在传递该数据以训练模型之前清理训练数据。现在我想知道我是否可以在调用端点时使用该函数,或者该函数是否已被使用?如果有人想要,我可以显示我的代码吗?

编辑 1 基本上,在预处理中,我正在做标签编码。这是我的预处理功能

def preprocess_data(data):
 print("entering preprocess fn")
 # convert document id & type to labels
 le1 = preprocessing.LabelEncoder()
 le1.fit(data["documentId"])
 data["documentId"]=le1.transform(data["documentId"])
 le2 = preprocessing.LabelEncoder()
 le2.fit(data["documentType"])
 data["documentType"]=le2.transform(data["documentType"])
 print("exiting preprocess fn")
 return data,le1,le2
Run Code Online (Sandbox Code Playgroud)

这里的“数据”是一个熊猫数据框。

现在我想在调用端点时使用这些 le1,le2。我想在 sagemaker 本身而不是在我的 java 代码中进行这个预处理。

aws-java-sdk amazon-sagemaker

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

storm integration with druid class com.fasterxml.jackson.module.scala.ser.ScalaIteratorSerializer overrides final method withResolved error

I am new to both storm and druid. From the last few days, i am stuck on this issue. I am sending data from Kafka to storm and then to the druid.*I think druidbeambolt is receiving the data but unable to convert to it JSON before transferring to the druid. check my druidboltfactory code for more details*. if everyone needs more information about the code then please tell me, thanks in advance

THIS IS THE ERROR

java.lang.NoClassDefFoundError: Could not initialize …
Run Code Online (Sandbox Code Playgroud)

java scala jackson druid apache-storm

5
推荐指数
0
解决办法
628
查看次数

nifi如何在不同节点之间分发数据?

我有一个包含 3 个节点的 nifi 集群。我在流程中使用 invokeHTTP 处理器。基本上,有一个 post 端点每天为我提供 1 - 2GB JSON 数据,我最终将其保存在 POSTGRES 中。该流程工作正常,但我不确定我是否有效地使用了整个三个节点的集群。

以下是我测试流程的两个场景,在这些场景中,我只需将 invokeHTTP 处理器的调度选项卡中存在的“执行”模式从“所有节点”更改为“主节点”

1- 在“所有节点”执行模式下,我看到 3 个请求从 invokeHTTP 传递到下一个处理器。因此,我看到的不仅仅是 2GB 的 json 响应,而是传递到下一个处理器的 6GB 响应,这意味着所有 3 个节点都在做同样的事情,给集群和数据库带来不必要的负载。

2- 使用执行模式“主节点”,我看到 1 个请求从 invokeHTTP 传递到下一个处理器。但我认为在这种情况下,只有一个节点正在使用,其他 2 个节点什么也不做,这不是集群的正确使用。

使用整个集群的正确方法是什么?

apache-nifi

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