ウェブサイトを開いてドロップダウンから値を選択しようとしています。残念ながら、以下の機能せず、大規模な調査の後、私はあきらめておよそ午前: のPython 3.6.0 セレン3.0.2 のFirefox 45.7.0Python、Firefox、Selenium 3:Firefox 45でドロップダウンから値を選択できない
私のコードがある(これは社内規程に更新することはできません)。
from selenium import webdriver
from selenium.webdriver.firefox.webdriver import FirefoxProfile
from selenium.webdriver.support.ui import Select
#set profile for firefox
profile = FirefoxProfile("C:\\Users\\Rash\\Documents\\PythonScripts\\FirefoxProfileCopies\\u4gehg17.default.copy")
profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.download.manager.showWhenStarting", False)
profile.set_preference("browser.download.dir", "C:\\Users\\Rash\\Desktop\\TestDownloadFolderSelenium") #set directory for download
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", 'application/vnd.ms-excel')
#start a browser session
browser = webdriver.Firefox(profile)
# open the ProCon page
browser.get("http://reiseauskunft.bahn.de/bin/query.exe/dn?getstop=1&dbkanal_008=L01_S01_D001_KLR0011_konzernportal_LZ03")
select1 = Select(browser.find_element_by_name("REQ0HafasChangeTime"))
select1.select_by_visible_text("mindestens 30 Minuten")
for row in select1.options:
print(row.text)
奇妙なことは、ループプリントが正しいドロップダウンメニューが、select
コードからすべて正しい値が値にドロップダウンを変更するために動作しないということである「30 Minutenをmindestens」。異なるWebサイトでも同じ問題が発生します。これはおそらくFirefoxの古いバージョンのために問題がありますか?
私はFirefox 51.0.1で自宅で試してみました。それは正しい値を選択しました。だから私は仕事で私のFirefoxを更新できないので、私は何をすることができますか?セレンやgeckodriverをダウングレードする必要がありますか?
私が知っている限り、GeckodriverはFirefox 45と完全には互換性がありません。したがって、最も安全な方法は、Seleniumを2.53.1にダウングレードすることです。 –
私はちょうど、これが私の問題を解決しました。私はちょうど私が正しく理解しているかどうか疑問に思っています:セレニウム2.53はGeckodriverを使用せず、セレニウム3.xは使用しますか?また、これを回答として追加して受け入れることができます。ありがとうございました!! – rashid