59343


別のページから取得したテキストをdriver.getを使って特定ウェブサイトを開きたいです。

[code]

    a=driver.find_element_by_xpath('//*[@id="gsm"]/center[1]/a') 
    print(a.text.replace("Lat=", "").replace("Lon=", "").replace(" ",","))
    
[/code]

別のページから取得した情報：`a=60.208511,24.752884`

情報を取得後、下記の方法で特定のページを開きたいですが、実行しても何も開きません。  
変数を使って開く場合、どのように設定すれば良いでしょうか。

[code]

    link='https://www.google.com/maps/search/'+a
    print(link)
    
[/code]

実行結果：なし

[code]

    driver.get(link)
    
[/code]

`link='https://www.google.com/maps/search/'`のみで実行するとウェブサイトが開きます。  
変数`a`を追加すると開きません。

実行結果：`https://www.google.com/maps/search/`

お手数ですが、ご教授願いします。


CC BY-SA 4.0
2019-09-29T10:14:03.167
59340
2019-09-29T15:18:05.663
2019-09-29T12:46:51.730
3060
18859
question
python
python 特定のページを開く


間に説明が入ってしまっているので少しわかりにくいのですが、現在のコードはこのような状態というところでよろしいでしょうか?

[code]

    a=driver.find_element_by_xpath('//*[@id="gsm"]/center[1]/a') 
    print(a.text.replace("Lat=", "").replace("Lon=", "").replace(" ",","))
    # (1)->60.208511,24.752884
    link='https://www.google.com/maps/search/'+a
    print(link)
    # (2)(何も表示されない)
    driver.get(link)
    
[/code]

(2)の`print`文の結果が表示されていないのであれば、その前の行

[code]

    link='https://www.google.com/maps/search/'+a
    
[/code]

でエラーが発生しているので、`print`文が実行されていない、と推定できます。

* * *

[別質問](https://ja.stackoverflow.com/a/59338/13972)のコメント中で「`a.text`は文字列だが、`a`は文字列ではない」というのを確認していただいたのを覚えておいででしょうか。

1つ目の`print`文は、`a.text.replace("Lat=", "").replace("Lon=", "").replace("
",",")`という式の **計算結果(文字列)を表示しているだけ** であり、`a`の中身を書き換えるものではありません。従って
**`a`は文字列ではない** ままです。

文字列(`'https://www.google.com/maps/search/'`)と文字列ではないもの(`a`)を`+`で結合しようとしているのが、エラーの原因と考えられます。

* * *

上記の **計算結果** を表示するだけで捨ててしまわずに、何かの変数にでも入れて利用すれば良いでしょう。

[code]

    a=driver.find_element_by_xpath('//*[@id="gsm"]/center[1]/a') 
    coord = a.text.replace("Lat=", "").replace("Lon=", "").replace(" ",",")
    print(coord) # (1)
    link='https://www.google.com/maps/search/'+coord
    print(link)  # (2)
    driver.get(link)
    
[/code]

少なくともこれで、上記のエラーは解消されるので、(1)(2)とも`print`文の結果が表示されるはずで、その結果`link`の値が所望のものになっていれば、そのページが開くはずです。お試しください。


CC BY-SA 4.0
2019-09-29T15:18:05.663
59343
2019-09-29T15:18:05.663
13972
59340
answer