0
私は、製品情報ページからリンクされているすべてのHTMLページを印刷する必要があります。 http://prod.adv-bio.com/ProductDetail.aspx?ProdNo=1197ヘッドレスクローム移動し、リンク先のページにクリックし、printToPDF
私は私が何ができるかどうかを確認するためにテストスクリプトを設定していますこれはhtmlファイルの1つのみです。私はPyChromeDevToolsとSeleniumを使い、DevToolsでprintToPDF関数を使うことができると期待していましたが、Seleniumを使ってクリックする必要のあるリンクをクリックしていました。私はカナリアを使用する必要があり、
import requests
import time
import re
import websocket
import PyChromeDevTools
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--remote-debugging-port=9222')
chrome_options.add_argument('--window-size=1200x600')
chrome_options.add_argument('--disable-gpu')
driver = webdriver.Chrome('C:\\Users\\me\\AppData\\Local\\Programs\\Python\\Python36- 32\\selenium\\webdriver\\chromedriver_win32\\chromedriver.exe', chrome_options = chrome_options)
driver.get("http://prod.adv-bio.com/ProductDetail.aspx?ProdNo=1197")
browser = PyChromeDevTools.ChromeInterface()
browser.Network.enable()
browser.Page.enable()
driver.implicitly_wait(20)
driver.get("http://prod.adv-bio.com/ProductDetail.aspx?ProdNo=1197")
time.sleep(3)
url = driver.find_element_by_partial_link_text("Continuing")
time.sleep(3)
ActionChains(driver).click(url).perform()
time.sleep(3)
Page.printToPDF()
time.sleep(5)
と私は2.31にchromedriverを更新し、クロームバージョン60を持っている
Traceback (most recent call last):
File "C:\Users\me\SOtestfile.py", line 29, in <module>
driver = webdriver.Chrome('C:\\Python27\\Lib\\site-
packages\\chromedriver_win32\\chromedriver.exe', chrome_options =
chromeOptions, desired_capabilities=capabilities)
File "C:\Python27\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 69, in __init__
desired_capabilities=desired_capabilities)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 98, in __init__
self.start_session(desired_capabilities, browser_profile)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 188, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 256, in execute
self.error_handler.check_response(response)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response
raise exception_class(message, screen, stacktrace)
WebDriverException: Message: chrome not reachable
(Driver info: chromedriver=2.31.488763 (092de99f48a300323ecf8c2a4e2e7cab51de5ba8),platform=Windows NT 6.1.7601 SP1 x86_64)
このエラーを取得しています:ここで
は、私がこれまで持っているコードです。 ?私はこれに関する助けに感謝します。
私はこれらのオプションを使用するために投稿したコードを編集しようとしましたが、今はエラーが発生します。あなたはpdfにファイルを印刷できましたか?あなたが使用したコードの残りの部分を投稿してもよろしいですか?私はそれが私の代理人の問題だと思っています。PyChromeDevToolsとSeleniumは同じポートを使い、一緒に実行することはできません。 – Condav
'chrome_options.add_argument( ' - remote-debugging-port = 9222') chrome_options.add_argument( ' - disable-gpu')' – user3196587
残念ながら、これらのコメントはコメントアウトしていません。私の問題を解決する。私はこれを自分のパーソナルコンピュータ上に複製して、私の仕事のファイアウォールが途中で邪魔になっているかどうかを除外しようとしています。私はこれをFireFoxで動作させることができましたが、ファイアウォールはすべてのループにログインしなければなりません(ITは強くIEを奨励しますが、誰もそれを使用しないと思います...)。 – Condav