使用 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
这个想法是从字面上做同样的键盘工作:
Step 1 -> Open Web Page
Step 2 -> Ctrl + A (Select All)
Step 3 -> Ctrl + C (Copy)
下面是我如何将它用于 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)
这个想法是从字面上做同样的键盘工作:
Step 1 -> Open Web Page
Step 2 -> Ctrl + A (Select All)
Step 3 -> Ctrl + C (Copy)
下面是我如何将它用于 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)