logo
Tags down

shadow

Replace Selenium with Requests in dynamic form


By : Bala
Date : October 14 2020, 02:21 PM
wish of those help The short answer to your question is yes, you can use the requests library to make the post requests. For an example you can easily open the inspector on your browser and copy a request using the following site:
https://curl.trillworks.com/
code :
import requests

cookies = {
    'ASPSESSIONIDCQTTBCRB': 'BFDPGLCCEJMKPFKGJJFHKHFC',
}

headers = {
    'Connection': 'keep-alive',
    'Pragma': 'no-cache',
    'Cache-Control': 'no-cache',
    'Origin': 'http://dgasatel.mop.cl',
    'Upgrade-Insecure-Requests': '1',
    'Content-Type': 'application/x-www-form-urlencoded',
    'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
    'Referer': 'http://dgasatel.mop.cl/filtro_paramxestac_new.asp',
    'Accept-Encoding': 'gzip, deflate',
    'Accept-Language': 'en-US,en;q=0.9',
}

data = {
  'estacion1': '-1',
  'estacion2': '-1',
  'estacion3': '-1',
  'accion': 'refresca',
  'tipo': 'ANO',
  'fecha_fin': '11/12/2018',
  'hora_fin': '0',
  'period': '1d',
  'fecha_ini': '11/12/2018',
  'fecha_finP': '11/12/2018',
  'UserID': 'nobody',
  'EsDL1': '0',
  'EsDL2': '0',
  'EsDL3': '0'
}

response = 
requests.post(
    'http://dgasatel.mop.cl/filtro_paramxestac_new.asp',
    headers=headers, cookies=cookies, data=data)
for table in data:
    if table.tail(1) and table.tail(1).iloc:
        print(table.tail(1).iloc[0][2])


Share : facebook icon twitter icon

Selenium with Python - how to find element on dynamic Javascript form?


By : Itaroken
Date : March 29 2020, 07:55 AM
I hope this helps . My guess is that you are not on the tab. That element does not actually get appended to the DOM until the tab gets clicked.
Add this to your script before trying to find the departing from field.
code :
driver.find_element_by_id("ita_layout_TabContainer_0_tablist_ita_form_multislice_MultiSliceForm_0").click()

Replace asynchronous requests with synchronous requests in background thread in iOS?


By : alipro
Date : March 29 2020, 07:55 AM
it fixes the issue You're right. The basic thing is that you have to synchronize the responses based on completion. and it does not matter if you use sync or async way. scheme: request(sync/async) -> completion -> request 2 (sync/async) -> completion...etc..

How to print dynamic generated values of form field in selenium using Eclipes.


By : Nabeel Baloch
Date : March 29 2020, 07:55 AM
Does that help @Surya's answer is correct. Alongwith that, you can also try the below code for the result:
code :
String price = driver.findElement(By.xpath("//span[@class='total-line__name' and contains(text(),'Shipping')]/following-sibling::strong")).getText();
public class Testing
{
public static void main(String args[]) throws InterruptedException{

        WebDriver driver = new FirefoxDriver(); //Opening firefox instance

        driver.manage().window().maximize(); //maximizing window

        driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); //Giving implicit timeout of 20 seconds

        driver.get("http://testing-671.myshopify.com/"); //Navigating to url

        driver.findElement(By.xpath("//img[@alt='testing']")).click(); //Clicking on Testing product

        driver.findElement(By.xpath("//input[@id='add-to-cart']")).click(); //Clicking on Add to cart button

        driver.findElement(By.xpath("//input[@id='checkout']")).click(); //Clicking on Checkout button

        //Clearing and sending value in email
        driver.findElement(By.xpath("//input[@id='checkout_email']")).clear();
        driver.findElement(By.xpath("//input[@id='checkout_email']")).sendKeys("test@gmail.com");

        //Clearing and sending value in first name
        driver.findElement(By.xpath("//input[@id='checkout_shipping_address_first_name']")).clear();
        driver.findElement(By.xpath("//input[@id='checkout_shipping_address_first_name']")).sendKeys("Test");

        //Clearing and sending value in last name
        driver.findElement(By.xpath("//input[@id='checkout_shipping_address_last_name']")).clear();
        driver.findElement(By.xpath("//input[@id='checkout_shipping_address_last_name']")).sendKeys("Test");

        //Clearing and sending value in address
        driver.findElement(By.xpath("//input[@id='checkout_shipping_address_address1']")).clear();
        driver.findElement(By.xpath("//input[@id='checkout_shipping_address_address1']")).sendKeys("Test Address");

        //Clearing and sending value in city
        driver.findElement(By.xpath("//input[@id='checkout_shipping_address_city']")).clear();
        driver.findElement(By.xpath("//input[@id='checkout_shipping_address_city']")).sendKeys("Test City");

        //Selecting India as Country
        Select sel = new Select(driver.findElement(By.xpath("//select[@id='checkout_shipping_address_country']")));
        sel.selectByVisibleText("India");

        //Selecting Goa as Province
        sel = new Select(driver.findElement(By.xpath("//select[@id='checkout_shipping_address_province']")));
        sel.selectByVisibleText("Goa");

        //Clearing and sending value in Zip
        driver.findElement(By.xpath("//input[@id='checkout_shipping_address_zip']")).clear();
        driver.findElement(By.xpath("//input[@id='checkout_shipping_address_zip']")).sendKeys("789088");

        //Clicking on Continue button
        driver.findElement(By.xpath("//input[@value='Continue']")).click();

        //Waiting till the text changes from "—" to some price value.
        new WebDriverWait(driver,10).until(ExpectedConditions.invisibilityOfElementWithText(By.xpath("//span[@class='total-line__name' and contains(text(),'Shipping')]/following-sibling::strong"), "—"));     

        //Getting the price of Shipping
        String price = driver.findElement(By.xpath("//span[@class='total-line__name' and contains(text(),'Shipping')]/following-sibling::strong")).getText();

        //Printing price of shipping
        System.out.println("The price of Shipping is: "+price);
}

Replace to work with dynamic pattern of replace all characters except the one given in dynamic string


By : Angel Hernandez
Date : March 29 2020, 07:55 AM
it fixes the issue A '^[a-zA-Z0-9_]+$' pattern matches an entire string that only consists of word chars (letters, digits, _). You seem to want to remove all chars other than those you specify in the regex character class.
Thus, you need to make it a negated character class and remove anchors, ^ (start of string) and $ (end of string).
code :
.replace(new RegExp('[^A-Za-z0-9' + customPattern.replace(/[\]^\\-]/g, '\\$&') + ']+', 'g'), '')

Replace placeholder of an input in a dynamic form


By : Amola Lee
Date : March 29 2020, 07:55 AM
This might help you What I am trying to achieve is to set the placeholder of an input field dynamically. I have an input where I say how many inputs I want to render in the form. On that created inputs I set an onchange event: , You run a for loop in the other for loop,
code :
for( var newPlaceholder in valueArray ){
    if(valueArray.hasOwnProperty(newPlaceholder)){
        console.log("newPLH", newPlaceholder, valueArray[newPlaceholder])
        var form = document.querySelectorAll("*[class^='exitIntentInput']");
        for(var i = 0; i < form.length; ++i){
                // console.log("aaraay", form[i].placeholder);
            form[i].placeholder = valueArray[newPlaceholder];
        }
    }
}
for(var i = 0; i < form.length; ++i)
  // console.log("aaraay", form[i].placeholder);
  form[i].placeholder = valueArray[newPlaceholder];
}
function changeFormPlaceholder(){
    var inputs = document.querySelector('.formFieldInputs');
    var num = 0;
    var valueArray = [];

    inputs.childNodes.forEach( function(input){
        var inputValue = input.value;
        var name = 'value' + num++;
        valueArray.push(inputValue);
    })

    var form = document.querySelectorAll("*[class^='exitIntentInput']");
    for(var i = 0; i < form.length; ++i){
        // console.log("aaraay", form[i].placeholder);
        form[i].placeholder = valueArray[i];
    }
}
Related Posts Related Posts :
  • I'm getting positional argument in Django rest framework APIView class empty. Why? And how to pass value into it?
  • Create an array according to index in another array in Python
  • Matplotlib multiple Y-axes, xlabels disappear?
  • feedparser for reddit returning empty
  • physical dimensions and array dimensions
  • can't get my program to return to main loop
  • how to read image into tensor from url directly
  • Can't find a combination of keywords on an xml page using python and beautiful soup
  • Find the rotation of a quad (4 points, planar)
  • Class method input variables
  • Pandas Dataframe, how to group columns together in Python
  • What does "auth.User" in Django do?
  • Python - Get Last Element after str.split()
  • How to access a variable in one python function in another function
  • Manually computed validation loss different from reported val_loss when using regularization
  • Filtering with a only one conditional
  • How to set specific faker random string of specific length and using underscores for spaces?
  • seaborn FacetGrid+map_dataframe fails (but not when using map)
  • How to get GraphQL schema with Python?
  • Python - How to send values between functions once
  • Loop sum find and multiple
  • Map & append multiple values (per each key) from a dict to different columns of a dataframe
  • Python list of dictionaries incrementation error
  • Filtering Spark Dataframe
  • pytest: How to test project-dependent directory creation?
  • Python Group by and Sum with a Blank space
  • Reorder and return the whole of nested dictionary
  • Finding element from one list in nested second list
  • Calculating AUC for Unsupervised LOF in sklearn
  • Storing Specific Whole Numbers - Python
  • Simulate SHL and SHR ASM instructions in Python
  • AttributeError: type object 'DirectView' has no attribute 'as_view'
  • Iterate through list and print 'true' if list element is of a certain type
  • Web scraping: How to test if the root tag has a particular CSS class?
  • Bar Graph in Python with 2 scales (y-axis) with matplotlib import
  • Use of Breakpoint Method
  • pdf file generated using reportlab , getting saved as plain text
  • Pandas DataFrame: programmatic rows split of a dataframe on multiple columns conditions
  • Combine the data based on common index with dates
  • Accessing Tags within HTML comments
  • how to conditionally change array values
  • Numpy failing in Python3 Google App Flexible Engine
  • Fastest way to delete/extract a submatrix from a numpy matrix
  • Pandas dividing distance by timedelta
  • Enforce minimum spacing between non-zero elements in array
  • Convert web scraped string list to formatted CSV
  • How to clear value from cell if value in another column is present?
  • what use tensorflow estimator create multi-input
  • Selenium: Find an element stored in a container
  • specify *.pyd output path?
  • Looping through pixels with Cython still slow
  • Python - Recursive Function does not work with len() despite the returned value being a list
  • Having trouble reading Pandas dataframe with SciLearn Kit
  • Reshape vertical series to horizontal in Python
  • Removing background from galaxy photos using Python
  • Failed to verify: !m_var2expr.empty() on z3 python
  • what does [:, :, ::-1] mean in python?
  • Conditional loop for pandas dataframe rows
  • Check the value in next row in order to apply certain rules to current rows in Python
  • Python getting the grouped values from positive look ahead
  • shadow
    Privacy Policy - Terms - Contact Us © voile276.org