Ich habe firefox + Selen zum Schaben verwendet. Allerdings habe ich mich entschieden, zu Phantomjs zu wechseln, da es schneller gehen sollte.Hinzufügen von Cookies mit Selenium Ghostdriver PhantomJS mit Python
Ich habe jetzt Probleme beim Hinzufügen von Cookies bei Verwendung von Phantomjs + Ghostdriver + Selen mit Python. Um das Problem zu lösen, habe ich online nach Lösung gesucht, aber ich kann nicht die richtige Lösung finden.
Unten ist der Code verwendet.
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0
from selenium.webdriver.support import expected_conditions as EC# available since 2.26.0
driver = webdriver.PhantomJS()
driver.get("http://kswarrants.kasikornsecurities.com/www/Tool/calculator")
driver.add_cookie({'name':'Disc', 'value':'YES','Domain':'kswarrants.kasikornsecurities.com'})
options = driver.find_elements_by_xpath('//select[@id="underling0"]/option')
Fehlermeldung bekommen:
selenium.common.exceptions.WebDriverException: Message: {"errorMessage":"Can only set Cookies for the current domain","request":{"headers":{"Accept":"applicatio
n/json","Accept-Encoding":"identity","Connection":"close","Content-Length":"110","Content-Type":"application/json;charset=UTF-8","Host":"127.0.0.1","User-
Agent":"Python-urllib/2.7"},"httpVersion":"1.1","method":"POST","post":"{\"sessionId\": \"2eb47d00-fdb0-11e5-af40-4fb0a42a2c0b\", \"cookie\": {\"path\": \"/\",
\"name\": \"Disc\", \"value\": \"YES\"}}","url":"/cookie","urlParsed":{"anchor":"","query":"","file":"cookie","directory":"/","path":"/cookie","relative":"/cook
ie","port":"","host":"","password":"","user":"","userInfo":"","authority":"","protocol":"","source":"/cookie","queryKey":{},"chunks":["cookie"]},"urlOriginal":"
/session/2eb47d00-fdb0-11e5-af40-4fb0a42a2c0b/cookie"}}
Der Hauptfehler ist "Cookies nur für die aktuelle Domäne einstellen". Allerdings habe ich bereits vor dem Hinzufügen der Cookies auf die Website navigiert. Ich habe auch bemerkt, dass der Host in der Anfrage Kopfzeile ist 127.0.0.1, die lokale Host ist. Dies kann die Ursache des Problems sein. Gibt es eine Möglichkeit, dies zu lösen? Wie kann ich den Host im Anforderungsheader ändern? Danke im Voraus.