On the website https://www.aliexpress.com, I need to change the country from the dropdown menu using selenium
<span class="ship-to">
I can't find how I click on the country value using selenium
On the website https://www.aliexpress.com, I need to change the country from the dropdown menu using selenium
<span class="ship-to">
I can't find how I click on the country value using selenium
From the Ship to drop-down-menu to select the country as Afghanistan you have to induce WebDriverWait for the element_to_be_clickable()
and you can use the following xpath based Locator Strategies:
Code Block:
driver.get("https://www.aliexpress.com/")
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//a[contains(@class, 'switcher-info')]/span[@class='ship-to']/i"))).click()
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//a[@class='address-select-trigger']//span[@class='css_flag css_in']//span[@class='shipping-text']"))).click()
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//li[@class='address-select-item ']//span[@class='shipping-text' and text()='Afghanistan']"))).click()
Note : You have to add the following imports:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
Browser Snapshot:
you can use ActionChains. Element is your xpath
from selenium.webdriver import ActionChains
actions = ActionChains(browser)
actions.move_to_element(element).perform()
actions.click().perform()
You can read more about ActionChains here https://www.selenium.dev/selenium/docs/api/py/webdriver/selenium.webdriver.common.action_chains.html
or you can use click()
function
example:
country_button = browser.find_element_by_class_name('ship-to')
country_button.click()
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.List;
public class aliexpress {
public static void main(String[] args) throws Exception {
System.setProperty("webdriver.chrome.driver", "C:\\Users\\User\\Downloads\\chromedriver83\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.get("https://www.aliexpress.com/");
driver.findElement(By.xpath("//span[@class='ship-to']")).click();
driver.findElement(By.xpath("//div[@id='nav-global']/div[4]/div/div/div/div/div/a")).click();
List <WebElement> lists=driver.findElements(By.xpath("//ul[@data-role='content']//li"));
System.out.println(lists.size());
for (int i = 0; i < lists.size(); i++) {
//System.out.println(LIST.get(i).getText());
if (lists.get(i).getText().contains("Barbados")) {
lists.get(i).click();
break;
}
}
}
}