পাইথন ব্যবহার করে সেলেনিয়ামে জাভাস্ক্রিপ্ট চালানো


90

আমি সেলেনিয়ামে সম্পূর্ণ নতুন। আমি নিম্নলিখিত কোডটিতে জাভাস্ক্রিপ্ট স্নিপেট কার্যকর করতে চাই (কোডটিতে মন্তব্য হিসাবে), তবে এটি করতে পারছি না। সাহায্য করুন.

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()

যদি আমি ব্যবহার করি -

selenium.GetEval("submitForm('patchCacheAdd',1,{'event':'ok'});return false")

এটি হিসাবে ত্রুটিযুক্ত -

AttributeError: 'module' object has no attribute 'GetEval'I 

উত্তর:



64

ব্যবহার করুন execute_script, এখানে একটি অজগর উদাহরণ রয়েছে:

from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://stackoverflow.com/questions/7794087/running-javascript-in-selenium-using-python") 
driver.execute_script("document.getElementsByClassName('comment-user')[0].click()")

8

আপনি যদি ইফ্রেমেস থেকে সরে যান তবে আপনি আপনার পৃষ্ঠায় হারিয়ে যেতে পারেন, ইস্যু ছাড়াই কিছু জেকোয়ারি চালানোর সেরা উপায় (সেলেনিয়াম / পাইথন / গেকো সহ):

# 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()')
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.