我通過以下方式創建驅動程式:
options = webdriver.ChromeOptions()
options.add_argument('--ignore-certificate-errors')
options.add_argument('--disable-gpu')
options.add_argument('--no-sandbox')
options.add_argument('headless')
options.add_argument('disable-infobars')
options.add_argument('--remote-debugging-port=9222')
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
options.add_argument("--disable-notifications")
options.add_argument('--disable-blink-features=AutomationControlled')
options.add_argument('--proxy-server=%s' % proxy)
driver = webdriver.Chrome(executable_path='down/chromedriver.exe',chrome_options=options)
使用后:
driver.get('https://myip.ru/')
r=WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.XPATH,'//*[@id="ipcontent"]/table/tbody/tr[2]/td'))).text
print(r)
我得到:
Traceback (most recent call last):
File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/usr/lib/python3.8/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "twitter.py", line 220, in main
r=WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.XPATH,'//*[@id="ipcontent"]/table/tbody/tr[2]/td'))).text
File "/usr/local/lib/python3.8/dist-packages/selenium/webdriver/support/wait.py", line 80, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
但是沒有無頭模式它可以正常作業
我也試圖在 vds 上啟動它并通過 ip 使用代理登錄。
uj5u.com熱心網友回復:
此錯誤訊息...
r=WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.XPATH,'//*[@id="ipcontent"]/table/tbody/tr[2]/td'))).text
File "/usr/local/lib/python3.8/dist-packages/selenium/webdriver/support/wait.py", line 80, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message
...暗示TimeoutException在使用以下基于xpath的定位器策略搜索元素時引發WebDriverWait以獲取元素的可見性:
//*[@id="ipcontent"]/table/tbody/tr[2]/td
當HTML DOM在無頭模式下以不同方式加載時,偶爾會觀察到這種現象。
您可能希望構建一個更規范的定位器策略,該策略在DOM 樹中唯一標識WebElement,并且應該單獨討論。
uj5u.com熱心網友回復:
我可能錯了,但是無頭選項是--headless,你忘記了--部分。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/443351.html
標籤:Python 硒 硒铬驱动程序 谷歌浏览器无头 vds
