1
私はPython SeleniumとAngularJSをいくつかのマウントに使用していますが、今ではいくつかのAngJS変数(asliderフィルタのhereから)を修正しようとしていて、ページを更新してページからデータを取り除くことができます。私はその点について以下のコードを使用します。python SeleniumまたはJavaScriptコンソールを使用してAngularJSコントローラ変数の値を設定する方法は?
#! /usr/bin/python2.7
import os
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver import ActionChains
import datetime
import time
import mysql.connector
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--no-proxy-server')
os.environ["PATH"] += ":/home/mike/software"
minPrice = 0
maxPrice = 1800000
minBedRoom = 0
maxBedRoom = 9
minBathRoom = 0
maxBathRoom = 8
minSoldDate = 0
maxSoldDate = 39
os.environ["PATH"] += ":/usr/local/bin/"
try:
driver = webdriver.Chrome()
driver.get("http://99.243.40.11/#/HouseSold")
time.sleep(20)
# en = driver.find_element_by_xpath("//span[6]")
time.sleep(5)
try:
element = WebDriverWait(driver, 5).until(EC.presence_of_element_located((By.XPATH, "(//slider)[1]"))
)
finally:
print ''
ens = driver.find_elements_by_xpath('(//slider)')
print 'ens', ens
en = ens[0]
# set min price
driver.execute_script('''angular.element(arguments[0]).scope().filters.sold_price_low = {0}; angular.element(document.body).injector().get('$rootScope').$apply();'''
.format(minPrice), ens[0])
何らかの理由で変更が適用されません。私が逃していることを教えてください。
お手数をおかけします。
は、あなたが(あなたがfilterPeople()を呼び出す必要があります)あなたのページによると、NG-変更機能を呼び出すのを忘れて、