小编Deb*_*anB的帖子

错误:ssl_client_socket_openssl.cc(1158)]握手失败,ChromeDriver Chrome浏览器和Selenium

在Chrome驱动程序中运行我的python selenium脚本时,即使一切正常,每次页面加载时我都会收到以下三条错误消息.有没有办法压制这些消息?

[24412:18772:0617/090708:错误:ssl_client_socket_openssl.cc(1158)]握手失败; 返回-1,SSL错误代码1,net_error -100

selenium google-chrome webdriver selenium-chromedriver selenium-webdriver

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

在react-native项目中更改android和ios的条目文件路径

在使用react-native init awesomeProject启动一个新项目之后,我尝试重构我的项目,将index.ios.jsindex.android.ios放在一个名为src的公共文件夹中.

当我执行react-native run-android时,我收到以下错误:

Android设备上的错误

在哪里我必须改变反应原生搜索正确路径中的条目文件?

java android ios reactjs react-native

11
推荐指数
2
解决办法
9389
查看次数

不要等待在Python中使用Selenium加载页面

在页面完全加载之前,如何在元素上点击selenium并抓取数据?我的互联网连接非常糟糕,因此有时需要永久​​地加载页面,无论如何都在这周围?

python selenium webdriver selenium-webdriver pageloadstrategy

11
推荐指数
2
解决办法
6246
查看次数

错误:browser_process_sub_thread.cc(221)]在Windows上使用Selenium ChromeDriver和Chrome进行网络服务等待了57毫秒

因此,我们在C#中使用Selenium来控制Chrome。使用v74 chromedriver的Chrome v74和使用v75 chromedriver的Chrome v75(测试版)都发生了以下问题。

与网站进行约12次互动后,例如出现错误

[10084:5660:0601/111205.119:ERROR:browser_process_sub_thread.cc(221)] Waited 57 ms for network service
Run Code Online (Sandbox Code Playgroud)

我们无法编辑browser_process_sub_thread.cc和重新编译。

我已经在此问题上寻求帮助,并且正在其他地方进行讨论。但是,由于v75 beta出现相同问题,因此似乎没有发生太多事情。

我们如何解决这个问题?它仅出现在这组测试中,而不出现在其他测试中。

后来

现在我收到这样的消息,即

ERROR:browser_process_sub_thread.cc(217)] Waited 285 ms for network service
Run Code Online (Sandbox Code Playgroud)

立即而不是经过一些互动!发生了什么?

windows selenium google-chrome sandbox chromium

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

selenium.common.exceptions.InvalidArgumentException:消息:无效参数错误调用 get() 与使用 Selenium Python 从文本文件读取的 url

我有一个 .txt 文件中的 URL 列表,我想使用 selenium 运行它。

假设文件名为 b.txt,其中包含 2 个 url(精确格式如下): https://www.google.com/,https://www.bing.com/

我想要做的是让 selenium 运行两个 url(来自 .txt 文件),但是似乎每次代码到达“driver.get”行时,代码都会失败。

url = open ('b.txt','r')
url_rpt = url.read().split(",")
options = Options()
options.add_argument('--headless')
options.add_argument('--disable-gpu')
driver = webdriver.Chrome(chrome_options=options)
for link in url_rpt:
   driver.get(link)
driver.quit()
Run Code Online (Sandbox Code Playgroud)

我运行代码时得到的结果是

Traceback (most recent call last):
File "C:/Users/ASUS/PycharmProjects/XXXX/Test.py", line 22, in <module>
driver.get(link)
File "C:\Users\ASUS\AppData\Local\Programs\Python\Python38\lib\site- 
packages\selenium\webdriver\remote\webdriver.py", line 333, in get
self.execute(Command.GET, {'url': url})
File "C:\Users\ASUS\AppData\Local\Programs\Python\Python38\lib\site- 
packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Users\ASUS\AppData\Local\Programs\Python\Python38\lib\site- 
packages\selenium\webdriver\remote\errorhandler.py", line 242, in 
check_response
raise …
Run Code Online (Sandbox Code Playgroud)

python selenium for-loop list selenium-webdriver

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

如何在具有可见浏览器的 docker 容器中运行 Selenium 测试?

如果我想在带有可见(非无头)浏览器的 Docker 容器中运行 Selenium 测试,我有哪些选择?

  • 我是否需要使用 VNC 等远程显示查看器?
  • 是否可以在主机上使用浏览器?(即不在 Docker 容器中的浏览器)。这是如何运作的?
  • 还有其他选择吗?

selenium selenium-webdriver docker dockerfile docker-compose

11
推荐指数
3
解决办法
5883
查看次数

Selenium 应用程序在 Heroku 上托管时重定向到 Cloudflare 页面

我制作了一个不和谐的机器人,它使用 selenium 访问网站并获取信息,当我在本地运行代码时,我没有任何问题,但是当我部署到 Heroku 时,我得到的第一个 URL 将我重定向到 page Attention Required! | Cloudflare

我努力了:

还有许多其他具有我使用的相同设置的:

options = Options()
options.binary_location = os.environ.get("GOOGLE_CHROME_BIN")
options.add_experimental_option("excludeSwitches", ["enable-logging", "enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
options.add_argument("--disable-blink-features=AutomationControlled")
options.add_argument("--headless")
options.add_argument("--disable-dev-shm-usage")
options.add_argument("--no-sandbox")
self.driver = webdriver.Chrome(executable_path=os.environ.get("CHROMEDRIVER_PATH"), options=options)
self.driver.execute_cdp_cmd('Network.setUserAgentOverride', {
    "userAgent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.53 Safari/537.36'})
Run Code Online (Sandbox Code Playgroud)

但这不起作用,代码仅在本地运行

PS:本地我在Windows上

我重定向到的页面来源: https://gist.github.com/rafalou38/9ae95bd66e86d2171fc8a45cebd9720c 页面来源

python selenium captcha heroku cloudflare

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

被带有 selenium 和 chromedriver 的网站阻止

我在尝试使用 chrome 驱动程序和 selenium 访问网站 (bet365.com) 时遇到一些麻烦(我完全被“阻止”)。

我可以使用普通的 chrome 访问该网站,但是当我尝试使用 chrome 驱动程序时,它不起作用。

我之前遇到过这个问题,并使用以下一些选项纠正了它(python):

from selenium import webdriver

options = webdriver.ChromeOptions() 
options.add_argument("start-maximized")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=options, executable_path=r'PATH_TO\chromedriver.exe')
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
  "source": """
    Object.defineProperty(navigator, 'webdriver', {
      get: () => undefined
    })
  """
})
driver.execute_cdp_cmd("Network.enable", {})
driver.execute_cdp_cmd('Network.setUserAgentOverride', {"userAgent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.53 Safari/537.36'})

driver.get("https://www.bet365.com/")
Run Code Online (Sandbox Code Playgroud)

现在,问题又回来了,这段代码不再能够绕过保护。有人能帮我吗?

python selenium google-chrome selenium-chromedriver undetected-chromedriver

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

Selenium webdriver:修改navigator.webdriver标志以防止硒检测

我正在尝试使用selenium和chrome在网站中自动执行一项非常基本的任务,但不知何故,网站检测到chrome由硒驱动并阻止每个请求.我怀疑该网站依赖于一个暴露的DOM变量,如/sf/answers/2933311741/来检测selenium驱动的浏览器.

我的问题是,有没有办法让navigator.webdriver标志为假?我愿意在修改之后尝试重新编译硒源,但我似乎无法在存储库中的任何地方找到NavigatorAutomationInformation源https://github.com/SeleniumHQ/selenium

任何帮助深表感谢

PS:我还从https://w3c.github.io/webdriver/#interface尝试了以下内容

Object.defineProperty(navigator, 'webdriver', {
    get: () => false,
  });
Run Code Online (Sandbox Code Playgroud)

但它只在初始页面加载后更新属性.我认为该网站在我的脚本执行之前检测到该变量.

java selenium webdriver selenium-webdriver webdriver-w3c-spec

10
推荐指数
9
解决办法
5531
查看次数

Chrome v76中无法隐藏“ Chrome正在由自动化软件控制”信息栏

将Chrome更新到版本76之后,我无法弄清楚如何隐藏“ Chrome正在由自动化软件控制...”通知,从而覆盖页面上的某些控件。

ChromeDriver的最新稳定版确实是76.0.3809.68。以下代码适用于Chrome 75和ChromeDriver 74。

var options = new ChromeOptions();
options.AddArgument("--test-type");
options.AddArgument("--disable-extensions");
options.AddArguments("disable-infobars");
options.AddArguments("--disable-notifications");
options.AddArguments("enable-automation");
options.AddArguments("--disable-popup-blocking");
options.AddArguments("start-maximized");
var driver = new ChromeDriver(driverLocation, options, ScriptTimeout);
Run Code Online (Sandbox Code Playgroud)

c# selenium google-chrome selenium-chromedriver selenium-webdriver

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