请打开此网站 - https://mobikwik.com/
选择运营商有第二个项目的移动表格
我想选择 - " Idea"从这个下拉使用selenium webdriver
请帮忙。
此外,在选择了想法后,我会为选择的圆圈获得一个新的下拉菜单。需要选择孟买。
我的尝试:
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 :(得分:3)
我尝试使用相同的网页编写此代码并工作:
driver.find_element_by_xpath("//span[contains(text(), 'Select Operator')]").click()
driver.find_element_by_xpath("//span[contains(text(), 'Idea')]/..").click()
首先必须让选项pannel可见,否则会引发以下异常:
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()
答案 1 :(得分:1)
首先单击选择框,然后选择选项,选择您需要点击第3个孩子的vodafone:
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()
选择框可以选择
# 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
答案 2 :(得分:-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-select在selenium python中选择md-option