Russian organizations are at the receiving end of cyber attacks that have been found to deliver a Windows version of…
Development
Security companies have historically focused on espionage incidents related to Windows systems. This has led to them overlooking similar threats…
Cyble Research and Intelligence Labs (CRIL) researchers have observed a new sophisticated phishing campaign from the Belarusian government-linked threat actor…
noyb (None of Your Business), also known as the European Center for Digital Rights, has filed two complaints under Article…
A security researcher discovered an exploitable timing leak in the Kyber key encapsulation mechanism (KEM) that’s in the process of…
Several major hospitals in London have faced service disruptions following a ransomware attack on a third-party responsible for providing pathology…
Amazon DocumentDB (with MongoDB compatibility) is a fully managed native JSON document database that makes it easy and cost-effective to…
Building bespoke innovations that address the needs of the future is the driving force behind the unique tech consultancy QSSTUDIO.…
Today, customers use document databases for many different types of applications. For example, gaming clients use them for handling users’…
In Part 1 of this series, we demonstrated how to configure interval partitioning in an Amazon Aurora PostgreSQL-Compatible Edition database…
Amazon Timestream for LiveAnalytics is a fast, scalable, and serverless time-series database that makes it straightforward and cost-effective to store…
This learning path is a comprehensive overview of networking and concurrency in Kotlin. In this learning path, users will learn…
This paper presents the Embedding Pose Graph (EPG), an innovative method that combines the strengths of foundation models with a…
Here are the top 15 innovations at the intersection of Biotechnology and Artificial Intelligence AI in 2024: Artificial Intelligence in…
Nixtla unveiled StatsForecast 1.7.5, a significant update bringing new features and enhancements that further solidify its position as a leading…
Businesses today heavily rely on video conferencing platforms for effective communication, collaboration, and decision-making. However, despite the convenience these platforms…
Using extensive labeled data, supervised machine learning algorithms have surpassed human experts in various tasks, leading to concerns about job…
As customers seek to incorporate their corpus of knowledge into their generative artificial intelligence (AI) applications, or to build domain-specific…
I have a scenario, which I am finding bit difficult to automate.
The test scenario is :
There are two drop down.
To select the state.
To select the respective cities.
So, I need to write a script to automate, where I need to select a state from State drop down and for that state I need to select all the cities one after the other. Once all the cities are selected for that respective state, I need to come out of that loop and select a different state and repeat this process.
This is the code which i have written.
def test_state(self):
element = self.getAllTheElements(self.Register_page_elements,’xpath’, ‘option’)
for link in element:
if link.get_attribute(‘value’):
link.click()
print(“test”)
time.sleep(4)
element = self.getAllTheElements(‘autocomplete-city’, ‘id’, ‘option’)
for link2 in element:
if link2.get_attribute(“value”):
link2.click()
print(“state”)
time.sleep(2)
Since I have not given break statement, it will throw an error after completing entire iteration.
But, if I give a break it wont work the way I want.
This is the HTML code of the drop down.
For state.
<div class=”under-line”>
<select type=”text” class=”enque-content” autocomplete=”off” required=”required” id=”autocomplete-state” name=”state” onchange=”getCities(this)”>
<option selected=”” disabled=”disabled” value=””>Please select your state*</option>
<option value=”1″>Andaman and Nicobar Island</option><option value=”2″>Andhra Pradesh</option><label alt=”First Name*” class=”enque-placeholder-label” placeholder=”First Name*”> </label><option value=”3″>Arunachal Pradesh</option><option value=”4″>Assam</option><option value=”5″>Bihar</option><option value=”6″>Chandigarh</option><option value=”8″>Dadra and Nagar Haveli</option><option value=”7″>Chhattisgarh</option><option value=”9″>Daman and Diu</option><option value=”10″>Delhi</option><option value=”37″>Goa</option><option value=”12″>Gujarat</option><option value=”13″>Haryana</option><option value=”14″>Himachal Pradesh</option><option value=”15″>Jammu and Kashmir</option><option value=”16″>Jharkhand</option><option value=”17″>Karnataka</option><option value=”18″>Kerala</option><option value=”19″>Lakshadweep</option><option value=”20″>Madhya Pradesh</option><option value=”21″>Maharashtra</option><option value=”22″>Manipur</option><option value=”23″>Meghalaya</option><option value=”24″>Mizoram</option><option value=”25″>Nagaland</option><option value=”26″>Odisha</option><option value=”27″>Puducherry</option><option value=”28″>Punjab</option><option value=”29″>Rajasthan</option><option value=”30″>Sikkim</option><option value=”31″>Tamil Nadu</option><option value=”32″>Telangana</option><option value=”33″>Tripura</option><option value=”34″>Uttar Pradesh</option><option value=”35″>Uttarakhand</option><option value=”36″>West Bengal</option></select>
</div>
Once I select the state then the city drop down will appear.
Below is the XPath-
//XCUIElementTypeButton[@name=”8/13″]
The numeric value in the above XPath changes and is not static. There are more then 10 buttons on the screen, I want to click on the first one.
Text1 btn1 //let’s say btn1 contains 8/13
Text2 btn2 //let’s say btn1 contains 4/8
Can anyone help me to achieve this task?