繁体   English   中英

使用 Headless 什么都不会发生,没有 Headless 它可以完美地收集 webdriver.chrome 和 webdriver.firefox 中的数据

[英]With Headless nothing happens and without Headless it collects the data perfectly in both webdriver.chrome and webdriver.firefox

这个想法是从字面上做同样的键盘工作:

步骤 1 -> 打开网页

步骤 2 -> Ctrl + A(全选)

步骤 3 -> Ctrl + C(复制)

这是我将它用于Chrome

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import pyperclip
import time

option = webdriver.ChromeOptions()
option.add_argument('headless')
driver = webdriver.Chrome(options=option)

link='https://sports.staticcache.org/scoreboards/scoreboards-football/index.html?eventId=21150687'
driver.get(link)
time.sleep(10)
element=driver.find_element_by_tag_name('body')
element.send_keys(Keys.CONTROL,'a')
element.send_keys(Keys.CONTROL,'c')
driver.quit()
alltext=pyperclip.paste()

print(alltext)

这是我在Firefox使用它的方法:


from selenium import webdriver
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.common.keys import Keys
import pyperclip
import time

option = Options()
option.headless = True
driver = webdriver.Firefox()

link='https://sports.staticcache.org/scoreboards/scoreboards-football/index.html?eventId=21150687'
driver.get(link)
time.sleep(10)
element=driver.find_element_by_tag_name('body')
element.send_keys(Keys.CONTROL,'a')
element.send_keys(Keys.CONTROL,'c')
driver.quit()
alltext=pyperclip.paste()

print(alltext)

在未激活Headless时的两个选项中,它都可以完美运行,但是当它被激活时,什么也没有发生,脚本在没有任何内容的情况下完成运行。

我能做些什么来解决这个问题吗?

由于您只是尝试打印页面的内容,因此您可以尝试使用text而不是使用send_keys

option = webdriver.ChromeOptions()
option.add_argument('headless')
driver = webdriver.Chrome("<Path of chromeDriver>",chrome_options=option)

link='https://sports.staticcache.org/scoreboards/scoreboards- 
football/index.html?eventId=21150687'
driver.get(link)
time.sleep(10)
element=driver.find_element_by_tag_name('body')

print(element.text)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM