PythonでSeleniumを使用するのが初めてで、Barclays LiveのWebサイトでインデックスデータにアクセスしようとしています。ログインしてページが読み込まれると、ページのドロップダウンから「Custom1」を選択しようとしています。リストに関連付けられたHTMLコードで選択したオブジェクトは、次のようになります。PythonでSeleniumを使用してドロップダウンセレクトにアクセスできない
<select name="customViewId" class="formtext" onchange="submitFromSelect('username');return false;">
<option value=""> </option>
<option value="Favorite Indices">Favorite Indices</option>
<option value="Custom1">Custom1</option>
<option value="CB group">CB group</option>
<option value="Kevin Favorites">Kevin Favorites</option>
<option value="LB Gov/Cdt intermediate">LB Gov/Cdt intermediate</option>
</select>
を、私は、このオブジェクトにアクセスしようとするまで、これが私のコードのアップです:
from selenium import webdriver
from selenium.webdriver.support.select import Select
#Get chrome driver and connect to Barclays live site
browser = webdriver.Chrome("C:\Program Files (x86)\Google\Chrome\chromedriver.exe")
browser.get('https://live.barcap.com/')
#Locate username box and enter username
username = browser.find_element_by_name("user")
username.send_keys("username")
#Locate password box and send password
password = browser.find_element_by_name("password")
password.send_keys("password")
#Click login button
login = browser.find_element_by_id("submit")
login.click()
#Open page where you can select indices
browser.get("https://live.barcap.com/BC/barcaplive?menuCode=MENU_IDX_1061")
私は提案の数を試してみました私が見つけた解決策は、通常、 "要素を見つけることができませんでした"というエラーがあります。続いて、どのような方法でも、選択オブジェクトにアクセスしようとしました。名前、xpath、またはSelect()関数を使ってアクセスすることはできないようです。私は、要素がまだロードされていない場合、および運がない場合には、コードに待機時間を置こうとしました。物事のいくつかの例は、私が動作することを期待しますが、ありません。
select_box = browser.find_element_by_name("customViewId")
select_box = browser.find_element_by_xpath("//select[option[@value='Custom1']]"
私のバックグラウンドは、プログラミングではありませんが、これは愚かな質問がある場合は私に簡単に行きます。助けを前にありがとう。
この 'select'要素が' iframe'の中にあるかどうか確認できますか? – alecxe
select要素は実際にiframe内にあります。 – kforce