Sachverhalt:
A.
Die A._ AG mit Sitz in Zürich (Klägerin, Beschwerdeführerin) reichte am 10. April 2017 beim Handelsgericht des Kantons Zürich Klage ein gegen die C._ AG mit Sitz in St. Gallen (Beklagte 1) und die B._ AG mit Sitz in Locarno (Beklagte 2, Beschwerdegegnerin). Sie beantragte, die Beklagten 1 und 2 seien unter solidarischer Haftbarkeit zu verpflichten, ihr Fr. 1'668'849.92 nebst 5 % Zins p.a. seit 11. April 2017 zuzüglich Fr. 57'658.32 für die bis zum 10. April 2017 bereits angefallenen Zinsen zu bezahlen. Eventualiter, sollte die Klage gegen die Beklagte 1 abgewiesen werden, sei die Beklage 2 zusätzlich zu verpflichten, ihr Fr. 77'868.00 zu bezahlen. Die Klägerin stützte sich dabei auf einen zwischen den Parteien abgeschlossenen Werkvertrag vom 5. März 2013 betreffend das Projekt "X._" (nachfolgend: Werkvertrag). Bei der Beklagten 1 handelte es sich um die Projektplanerin. Die Beklagte 2 liess sich nicht auf das Verfahren ein und machte geltend, das angerufene Gericht sei örtlich unzuständig.
Mit Beschluss vom 27. September 2017 trat das Handelsgericht des Kantons Zürich auf die Klage gegen die Beklagte 2 mangels örtlicher Zuständigkeit nicht ein.
B.
Mit Beschwerde in Zivilsachen ficht die Klägerin den Beschluss des Handelsgerichts an und beantragt, auf die Klage gegen die Beklagte 2 sei einzutreten.
Es wurden keine Vernehmlassungen eingeholt.

Erwägungen:
1.
Das angefochtene Urteil betrifft eine Zivilsache (<ref-law>) und ist von einem oberen kantonalen Gericht erlassen worden, das als Fachgericht für handelsrechtliche Streitigkeiten als einzige kantonale Instanz eingesetzt ist (Art. 75 Abs. 2lit. b BGG). Die Beschwerdeführerin ist mit ihren Begehren unterlegen (<ref-law>) und die Beschwerde ist innert der Beschwerdefrist eingereicht worden (Art. 100 Abs. 1 B GG). Auf die Beschwerde ist unter Vorbehalt einer gehörigen Begründung (<ref-law>) einzutreten.
2.
2.1. Die Vorinstanz stellte fest, die Beschwerdeführerin mache geltend, es bestünden alternative Gerichtsstände in Zürich und Locarno, während die Beschwerdegegnerin davon ausgehe, Locarno sei ausschliesslicher Gerichtsstand. Die Parteien würden sich zur Begründung ihrer Standpunkte auf verschiedene Vertragsurkunden berufen, nämlich den Werkvertrag, die AGB der Beklagten 1 sowie die AGB der Beschwerdegegnerin.
Art. 9 des Werkvertrages präsentiert sich wie folgt:
Das erste Feld sei bereits von der Beschwerdeführerin resp. der Beklagten 1 angekreuzt gewesen. Die Beschwerdegegnerin habe ihrerseits das Feld neben dem Text "Si pattuisce il seguente foro competente" (Übersetzung: "Es wird die folgende örtliche Zuständigkeit vereinbart") angekreuzt und darunter handschriftlich ergänzt: "Foro Locarno come a condizioni B._ AG (allegate) " (Übersetzung: "Gerichtsstand Locarno gemäss AGBs B._ AG [beigelegt]").
Ziffer 11.1 der AGB der Beschwerdegegnerin präsentiert sich wie folgt:
Ziffer 35 der AGB der Beklagten 1präsentiert sich wie folgt, wobei die Ergänzung "//Locarno" von der Beschwerdegegnerin beigefügt worden sei:
Festzuhalten sei, so die Vorinstanz, dass der Inhalt dieser Urkunden nicht bestritten sei. Die Parteien seien sich aber uneinig, welche Schlüsse daraus zu ziehen seien.
2.2. Die Vorinstanz erwog, ein übereinstimmender tatsächlicher Wille sei nicht feststellbar. Die Urkunden seien somit nach dem Vertrauensprinzip auszulegen. Aufgrund des Vorrangs der Individualabrede sei die Regelung im Werkvertrag massgebend, welche auch das in <ref-law> statuierte Erfordernis der beidseitigen Schriftlichkeit erfülle. Es könne daher offenbleiben, ob die in den beiden AGB enthaltenen Gerichtsstandsvereinbarungen (ebenfalls) formgültig seien. Die Regelungen in den AGB könnten aber allenfalls im Rahmen der Auslegung des Werkvertrages Berücksichtigung finden.
Nach Treu und Glauben könne nicht von alternativen Gerichtsständen in Zürich und Locarno ausgegangen werden, auch wenn die Beschwerdegegnerin den Gerichtsstand Zürich weder in Art. 9 des Werkvertrages noch in Ziff. 35 der AGB der Beklagten 1 (eigenhändig) gestrichen habe. Vielmehr könnte aus der Formulierung "si pattuisce il seguente foro competente" geschlossen werden, dass die vorangehende Regelung (Zürich) durch die nachstehende (Locarno) ersetzt werden sollte; wenn nämlich die folgende Zuständigkeit (Herv. im angefochtenen Urteil) vereinbart werde, impliziere dies, dass die vorstehende Zuständigkeitsregelung (Zürich) unbeachtlich sei. Entscheidend komme schliesslich hinzu, dass die Beschwerdegegnerin in Art. 9 des Werkvertrages handschriftlich ergänzt habe: "Foro Locarno come a condizioni B._ AG (allegate) ". In den verwiesenen AGB der Beschwerdegegnerin, welche dem Werkvertrag unbestrittenermassen beigelegt waren und von der Beschwerdeführerin zur Kenntnis genommen werden konnten, sei "Locarno Città" als einziger Gerichtsstand vorgesehen. Aus dieser Erklärung der Beschwerdegegnerin im Werkvertrag in Verbindung mit ihren AGB - wie auch unter Berücksichtigung der weiteren vorgenannten Umstände - habe die Beschwerdeführerin nach Treu und Glauben jedenfalls nicht schliessen dürfen, die Beschwerdegegnerin verzichte auf ihren ordentlichen Gerichtsstand und zwar weder zu Gunsten der ausschliesslichen noch einer alternativen Zuständigkeit der Zürcher Gerichte.
Eine örtliche Zuständigkeit der Zürcher Gerichte ergebe sich auch nicht aus den gesetzlichen Bestimmungen (Art. 9ff. ZPO), was von der Beschwerdeführerin denn auch nicht geltend gemacht werde. Es sei zweifelhaft, ob dem Bestimmtheitserfordernis für eine gültige Gerichtsstandsvereinbarung Genüge getan sei. Für die vorliegende Klage könne dies aber offen bleiben.
3.
Für das Zustandekommen einer Gerichtsstandsvereinbarung gemäss <ref-law> ist erforderlich, dass die Parteien hinreichend klar bestimmen, welches Gericht sie als zuständig erklären, damit das angerufene Gericht zweifelsfrei seine Zuständigkeit festlegen kann (<ref-ruling> E. 2.3.3 S. 275 [noch zu Art. 9 Abs. 1 GestG[AS 2000 2355/D]]; Urteil 4A_4/2015 vom 9. März 2015 E. 2; je mit Hinweisen; zustimmend zu diesem Urteil: IVO SCHWANDER, in: ZZZ 2014/2015, S. 211 f.). Dabei scheint nicht grundsätzlich ausgeschlossen, dass eine Mehrzahl von Gerichtsständen vereinbart wird, welche dem Kläger wahlweise zur Verfügung stehen sollen (<ref-ruling> E. 2.3.3 S. 275).
Die vorliegende Vereinbarung erfüllt dieses Bestimmtheitserfordernis nicht. Wenn gesagt wird "Si pattuisce il seguente foro competente" (Es wird die folgende örtliche Zuständigkeit vereinbart) kann daraus im Sinn der Vorinstanz abgeleitet werden, der Hinweis auf die folgende Zuständigkeit von Locarno bedeute, dass die vorstehende (Zürich) unbeachtlich sein soll. Ebenso lässt sich aber auch im Sinn der Beschwerdeführerin argumentieren, dieses Verständnis hätte vorausgesetzt, dass das von der Beschwerdeführerin bereits gesetzte Kreuz in der ersten Linie für den Gerichtsstand Zürich gestrichen worden wäre. Dies umso mehr, als der Text "Si pattuisce il seguente foro competente"ebenfalls vorgedruckt ist, der Vertrag selber mit den beiden vorgegebenen Linien also ursprünglich (bevor eine davon angekreuzt wurde) zwei Alternativen zur Auswahl vorgab. Aus dem anschliessenden Hinweis auf die eigenen AGB der Beschwerdegegnerin ergibt sich keine zusätzliche Klarheit für die Frage, ob nach Treu und Glauben gestützt auf Art. 9 des Werkvertrages alternative Gerichtsstände oder ein einziger Gerichtsstand Locarno anzunehmen war. Unklar ist auch die von der Beschwerdegegnerin handschriftlich ergänzte Ziffer 35 der AGB der Beklagten 1. Hätte die Beschwerdegegnerin für die Beschwerdeführerin erkennbar den Gerichtsstand Zürich ausschliessen wollen, hätte sie "Zurigo" in der Passage "foro esclusivo competente Zurigo" streichen müssen, anstatt bloss "//Locarno" anzufügen. Hätte sie umgekehrt - wiederum nach dem Vertrauensprinzip für die Gegenseite erkennbar - Zürich und Locarno als alternative Gerichtsstände bestimmen wollen, hätte sie in der zitierten Passage das Wort "esclusivo " streichen müssen. Exklusiver Gerichtsstand in Zürich und gleichzeitig ein Gerichtsstand in Locarno schliessen sich aus.
Somit hat die Gerichtsstandsvereinbarung keinen Bestand. Auch im Beschwerdeverfahren macht die Beschwerdeführerin zu Recht nicht geltend, dass sich die örtliche Zuständigkeit von Zürich aus den gesetzlichen Bestimmungen (<ref-law>) ergibt. Die Vorinstanz ist zu Recht auf die Klage nicht eingetreten.
4.
Dem Ausgang des Verfahrens gemäss wird die Beschwerdeführerin kostenpflichtig. Da keine Vernehmlassungen eingeholt wurden, entfällt eine Entschädigungspflicht.

Demnach erkennt das Bundesgericht:
1.
Die Beschwerde wird abgewiesen.
2.
Die Gerichtskosten von Fr. 8'000.-- werden der Beschwerdeführerin auferlegt.
3.
Dieses Urteil wird den Parteien, der C._ AG und dem Handelsgericht des Kantons Zürich schriftlich mitgeteilt.
Lausanne, 27. April 2018
Im Namen der I. zivilrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Die Präsidentin: Kiss
Der Gerichtsschreiber: Lüthi