executescript - Ejecutar javascript en Selenium usando Python
selenium javascript executor (3)
Soy totalmente nuevo en Selenium. Quiero ejecutar un fragmento de JavaScript en el siguiente código (como se comenta en el código), pero no puedo hacerlo. Por favor ayuda.
from selenium import webdriver
import selenium
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
import time
patch = raw_input("Enter patch number/n")
rel = raw_input("Enter release/n")
plat = raw_input("Enter port/n")
browser = webdriver.Firefox()
browser.get("xxxxxxxxxxxxxxxxx")
pdtfamily = browser.find_element_by_id("prodFamilyID")
pdtfamily.send_keys("Database & Tools" + Keys.TAB)
time.sleep(5)
pdt = browser.find_element_by_id("productID")
pdt.send_keys("Intelligent Agent" + Keys.TAB)
time.sleep(5)
pdt1 = browser.find_element_by_id("patchCacheChkBxID")
pdt1.send_keys(Keys.SPACE)
time.sleep(5)
pdt7 = browser.find_element_by_id("M__Idf")
pdt7.send_keys(plat)
pdt8 = browser.find_element_by_id("M__Idg")
pdt8.send_keys("American English")
# Here I want to execute this javascript - "submitForm(''patchCacheAdd'',1,{''event'':''ok''});return false"
browser.close()
Si uso -
selenium.GetEval("submitForm(''patchCacheAdd'',1,{''event'':''ok''});return false")
se equivoca como -
AttributeError: ''module'' object has no attribute ''GetEval''I
Pruebe browser.execute_script
lugar de selenium.GetEval
.
Vea esta respuesta, por ejemplo.
Si se mueve desde iframes, puede perderse en su página, la mejor manera de ejecutar jquery sin problemas (con selenimum / python / gecko):
# 1) Get back to the main body page
driver.switch_to.default_content()
# 2) Download jquery lib file to your current folder manually & set path here
with open(''./_lib/jquery-3.3.1.min.js'', ''r'') as jquery_js:
# 3) Read the jquery from a file
jquery = jquery_js.read()
# 4) Load jquery lib
driver.execute_script(jquery)
# 5) Execute your command
driver.execute_script(''$("#myId").click()'')
Disfruta XD
Use execute_script
, aquí hay un ejemplo de python:
driver = webdriver.Firefox()
driver.get("http://.com/questions/7794087/running-javascript-in-selenium-using-python")
driver.execute_script("document.getElementsByClassName(''comment-user'')[0].click()")