前提・実現したいこと
下記のコードでサムネを取得しようとテストしています。
url = driver.find_element_by_css_selector("div.event-preview__image").get_attribute("style")
print(url)
属性名だけ取ろうと
.get_attribute("style")
抜いても、下記のように出力されます。
発生している問題・エラーメッセージ
>>background-image: url("https://***/sample.jpg"); #このhttpsから始まる部分だけほしい "https://***/sample.jpg"
試したこと
2時間以上記事を回遊しています。策がなく、困っております。
どうぞよろしくお願いいたします。
htmlは提示できますか?
以下の形です。*は伏字です。
<div class="event-preview__image" style="background-image: url("https://******/sample.jpg");"></div>
欲しい情報(style属性)は取得できているってことですよね? 余分な情報があるのであれば自分で削除すれば良いと思うのですが違いますか?
おっしゃる通りで、replaceメソッドを試しましたが効きませんでした。
url.replace('background-image: url(','')
url.replace(');','')
print(url)
>>background-image: url("https:/*******/sample.jpg");
他にも何か別の方法でURLが参照できるものがあれば教示くださいませ。
> おっしゃる通りで、replaceメソッドを試しましたが効きませんでした。
replace()の結果を代入していないからでは?
『replace ()の結果を代入』とは、どういった処理文法になりますでしょうか。
こういう感じです。
s = "abcde"
print(s)
#abcde
s2 = s.replace("abc","z")
print(s)
#abcde
print(s2)
#zde
ありがとうございます、代入忘れておりました。
meg_様
回答のようにrequests メソッドを使用するとエラーになります。
回答2件
あなたの回答
tips
プレビュー