python - 抓取Androidy Store BeautifulSoup / Selenium时弹出问题
问题描述
弹出确认窗口时,我无法检测到带有 Selenium 的按钮。我正在抓取 android 商店以自动下载应用程序,一切正常,但是当我必须通过单击“安装”按钮进行确认时,我无法执行与之前相同的代码。
driver = webdriver.Safari()
driver.get("https://play.google.com/store/apps/details?
id=com.king.candycrushsaga")
connexionbutton= "//*[@id='gb_70']"
emailfield= "identifierId"
GoogleAccUser="****@gmail.com"
GoogleAccPassword="****"
passwordfield="//*[@id='password']/div[1]/div/div[1]/input"
nextButton = "//*[@id='identifierNext']/content/span"
nextButtonTwo = "//*[@id='passwordNext']/content/span"
appsTabW = "//* .
[@id='wrapper']/div[1]/div/ul/li[2]/a/span/span[2]"
appsTab = "//*[@id='wrapper']/div[1]/div/ul/li[2]/a"
installButton = "//*[@id='fcxH9b']/div[4]/c-
wiz/div/div[2]/div/div[1]/div/c-wiz[1]/c-
wiz[1]/div/div[2]/div/div[2]/div/div[2]/div[2]/c-
wiz/div/span/button"
confirmInstallButton = "//*[@id='purchase-ok-button']/span"
xx = "//*[@id='purchase-ok-button']/span"
#listderoulante = "//*[@id='device-selector-container']/div/button/div[1]"
loginbuttonElement = WebDriverWait(driver,10).until(lambda
driver: driver.find_element_by_xpath(xpathbutton))
loginbuttonElement.click()
emailFieldElement = WebDriverWait(driver,10).until(lambda
driver: driver.find_element_by_id(emailfield))
emailFieldElement.clear()
emailFieldElement.send_keys(GoogleAccUser)
nextButtonElement = WebDriverWait(driver,10).until(lambda
driver: driver.find_element_by_xpath(nextButton))
nextButtonElement.click()
passwordFieldElement = WebDriverWait(driver,10).until(lambda
driver: driver.find_element_by_xpath(passwordfield))
passwordFieldElement.clear()
passwordFieldElement.send_keys(GoogleAccPassword)
nextButtonElementTwo = WebDriverWait(driver,10).until(lambda
driver: driver.find_element_by_xpath(nextButtonTwo))
nextButtonElementTwo.click()
installButtonElement = WebDriverWait(driver,10).until(lambda
driver: driver.find_element_by_xpath(installButton))
installButtonElement.click()
#print(installButtonElement)
#print (confirmInstallButtonElement)
有没有办法处理弹出窗口或 Selenium 的这个问题?谢谢
解决方案
推荐阅读
- php - Laravel 将 JPEG 评估为 mime 类型的 application/octet-stream 但 php 和 ubuntu 正确地声明了 image/jpeg
- mysql - 有没有办法在mysql的where子句中使用像min这样的sql函数作为值?
- javascript - NextJS:我是否需要使用 getInitialProps 和 next-redux-wrapper 来向所有页面共享状态?
- python - 如何将变量放入 tn.write?
- azure - 您可以在虚拟网络 DMZ 中拥有事件中心吗?
- database - 当我们需要在 Cassandra 中进行压缩时?
- java - 如果在流中找到任何匹配项,则将数据设置为列表中第一个对象的内部对象
- git - 如何在不丢失更改的情况下取消提交所有未推送的 git 提交
- django - django 模型 imagefield upload_to 方法不起作用
- matlab - 求解广义特征向量和特征值以获得共同基