2015-11-04 64 views
1

请打开此网站-https://mobikwik.com/
有一个移动与第二项作为选择运算符的表单。
我想选择 - 从这个下拉使用硒webdriver的“理念”。
请帮忙。Python selenium从角度js下拉选择选项

此外,选择想法后,我得到一个新的选择圆下拉。需要选择孟买。

我尝试:

driver.find_element_by_css_selector("li > span.ng-binding").click() 
driver.find_element_by_xpath("//label[3]/i").click() 
driver.find_element_by_css_selector("font > label > i").click() 
driver.find_element_by_xpath("//section[@id='mainunit']/div/div[2]/div/div[2]/div/div/div/form/div[4]/p/dl/dd/ul/li[9]/span").click() 
driver.find_element_by_xpath("//font/label[2]/i").click() 
+0

试试这个'driver.find_element_by_xpath(“//李[@类选择相同则它可是=” NG-范围'] [9]“)。单击()'。 – JRodDynamite

+0

要完成@JasonEstibeiro的评论,请先尝试: 'driver.find_element_by_xpath(“// span [@ class ='ng-binding']”)。click()' 要使选项可见,并单击选项: 'driver.find_element_by_xpath( “//李[@类= 'NG-范围'] [9]”)点击()' – Javitronxo

+0

或者,这似乎是一个更好的选择。试试看吧'driver.find_element_by_xpath( “//跨度[@类= 'NG结合' 和文本()= '理念'] [1]”)。点击()'。让我知道他们是否有任何工作。 – JRodDynamite

回答

2

我尝试此代码相同的网页和工作:

driver.find_element_by_xpath("//span[contains(text(), 'Select Operator')]").click() 
driver.find_element_by_xpath("//span[contains(text(), 'Idea')]/..").click() 

重要的是,你首先要看到的选项潘内尔,否则会抛出以下异常:

selenium.common.exceptions.ElementNotVisibleException: Message: Element is not currently visible and so may not be interacted with 

更新时间:

要选择孟买选项:

driver.find_element_by_xpath("//span[contains(text(), 'Select Circle')]").click() 
driver.find_element_by_xpath("//span[contains(text(), 'Mumbai')]/..").click() 
+0

谢谢....它wroked ...我已经更新了我的问题....ñ尝试了很多的闯民宅你选择的想法后,提供...“的代码来实现同样的,我得到一个新的下拉菜单中选择用于需要选择孟买“....你能帮助plz –

+0

@ user3388005更新.. – Javitronxo

1

首先点击选择框,然后选择该选项,选择您需要单击第三个孩子沃达丰:

driver.find_element_by_css_selector(".select").click() 
driver.find_element_by_css_selector(".options > ul:nth-child(1) > li:nth-child(3)").click() 

其他选项如下如下:

.options > ul:nth-child(1) > li:nth-child(2) => Artiel 
.options > ul:nth-child(1) > li:nth-child(3) => Vodafone 
.options > ul:nth-child(1) > li:nth-child(4) => BSNL 

您选择第一个选择框后有2个选择框,您可以通过find_elements_by_css_selector()与pulural

# select first one 
driver.find_element_by_css_selector(".select").click() 
driver.find_element_by_css_selector(".options > ul:nth-child(1) > li:nth-child(3)").click() 
# select second selectbox 
# you may need to sleep until second selectbox is available 
sleep(1) 
driver.find_elements_by_css_selector(".select")[1].click() 
driver.find_element_by_css_selector(".options.open > ul:nth-child(1) > li:nth-child(5)").click() # 5 option is Mumbai 
+0

谢谢....它的工作...我已经更新了我的问题.... n试了很多实施同样通过引用你提供的代码...“选择想法后,我得到一个新的下拉选择圈。需要选择孟买“....你能帮助PLZ –

+0

@ user3388005看到更新的一个 –

-1

硒蟒蛇floorselectionWait = WebDriverWait(driver,20).until(EC.presence_of_element_located((By.XPATH,'//*[@id="select_22"]'))) floorselection=driver.find_element(By.XPATH,'//*[@id="select_22"]') floorselection.click() flooroptionsWait = WebDriverWait(driver,10).until(EC.presence_of_element_located((By.XPATH,"//DIV[@class='md-text ng-binding'][text()='Level 7']"))) optionSelect=driver.find_element(By.XPATH,"//DIV[@class='md-text ng-binding'][text()='Level 7']") optionSelect.click() angularjs MD-选择MD-选项选择