0

我正在使用 helium 库来抓取动态网站,我发现使用标签比使用许多窗口要快得多,但是当我在新标签中打开某些网站时,它们会显示一些广告,而我找不到关闭它们的方法。这让我寻找了很多我不理解的 JS 代码,并且大多数时候它们在 python 中使用 helium 库执行时无法正常工作,即使它们在 Google Chrome 的控制台中工作正常。

但是,代码应该是无头运行的,我做所有这些只是为了测试,这是我的主要问题 中使用无头浏览器,是否使用新选项卡或新窗口是否重要?更快,就像它正常运行时发生的一样,或者因为它是无头的,所以没有区别?

别忘了提一下,因为我不必使用 JS 代码,所以使用许多窗口对我来说更容易。

driver.execute_script('''$x('xpath')[0].remove();''')
driver.execute_script('''$x('xpath')[0].click();''')

$x('xpath')[0].remove();
$x('xpath')[0].click();

selenium.common.exceptions.JavascriptException: Message: javascript error: $x is not defined

它们在 Google Chrome 控制台中都可以正常工作,但由于某种原因,我无法执行它们 python helium。我尝试使用以提供更多时间time.sleep(5)来加载页面,但它不起作用

更不用说我尝试使用click()氦气的方法,它给了我一个LookupError()

4

1 回答 1

1

我找到了一种自己测试的方法,它可能不准确,但结果给了我一个明确的赢家比新窗户

于 2021-05-17T07:20:02.463 回答