|
@@ -10,7 +10,8 @@ import urllib.parse
|
|
|
from selenium.webdriver.support.ui import WebDriverWait
|
|
|
from selenium.webdriver.common.by import By
|
|
|
from selenium.webdriver.support import expected_conditions as EC
|
|
|
-
|
|
|
+from random_user_agent.user_agent import UserAgent
|
|
|
+from random_user_agent.params import SoftwareName, OperatingSystem,HardwareType
|
|
|
import codecs
|
|
|
import random
|
|
|
import requests
|
|
@@ -97,8 +98,27 @@ def re_get_webdriver():
|
|
|
|
|
|
# options = webdriver.EdgeOptions()
|
|
|
try:
|
|
|
+
|
|
|
+ software_names = [SoftwareName.CHROME.value]
|
|
|
+ operating_systems = [OperatingSystem.WINDOWS.value]
|
|
|
+ hardware_types = [HardwareType.MOBILE.value, HardwareType.COMPUTER.value]
|
|
|
+# import random_user_agent.params.
|
|
|
+ user_agent_rotator = UserAgent(software_names=software_names, operating_systems=operating_systems,hardware_types =hardware_types , limit=100)
|
|
|
+
|
|
|
+ # Get list of user agents.
|
|
|
+ user_agents = user_agent_rotator.get_user_agents()
|
|
|
+
|
|
|
+ # Get Random User Agent String.
|
|
|
+ user_agent = user_agent_rotator.get_random_user_agent()
|
|
|
+
|
|
|
+ options = webdriver.ChromeOptions()
|
|
|
+ # options.add_argument("--headless") # 視窗背後執行
|
|
|
+ options.add_argument("user-agent=" +user_agent)
|
|
|
+
|
|
|
driver = webdriver.Remote(
|
|
|
- command_executor='http://127.0.0.1:'+str(portnum)+'/wd/hub')
|
|
|
+ command_executor='http://127.0.0.1:'+str(portnum)+'/wd/hub',
|
|
|
+ desired_capabilities=options.to_capabilities(),
|
|
|
+ )
|
|
|
driver.set_window_size(1400,1000)
|
|
|
return
|
|
|
except:
|