如何为 scrapy(爬行)找到元素 iTunes Connect 网站?
How to find element iTunes Connect website for scrapy(crawling)?
我需要我的应用程序的 CFBundleversion,所以我尝试了 scrapy iTunes Connect 网站,但我无法获取元素。
我试过了:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("https://appstoreconnect.apple.com/login")
elem = driver.find_element_by_xpath("//input[@id='account_name_text_field']")
我收到以下错误:
elenium.common.exceptions.NoSuchElementException: Message: Unable to
locate element: //input[@id='account_name_text_field']
我认为网站结构不同...
我该怎么办?
你的定位器没问题:
driver.find_element_by_xpath("//input[@id='account_name_text_field']")
在iframe
里面,需要先切换,使用frame_to_be_available_and_switch_to_it
和visibility_of_element_located
,像这样:
driver.get('https://appstoreconnect.apple.com/login')
WebDriverWait(driver, 30).until(expected_conditions.frame_to_be_available_and_switch_to_it((By.ID, "aid-auth-widget-iFrame")))
WebDriverWait(driver, 30).until(expected_conditions.visibility_of_element_located((By.XPATH, "//input[@id='account_name_text_field']")))
elem = driver.find_element_by_xpath("//input[@id='account_name_text_field']")
elem.send_keys("userName")
以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions
我需要我的应用程序的 CFBundleversion,所以我尝试了 scrapy iTunes Connect 网站,但我无法获取元素。
我试过了:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("https://appstoreconnect.apple.com/login")
elem = driver.find_element_by_xpath("//input[@id='account_name_text_field']")
我收到以下错误:
elenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: //input[@id='account_name_text_field']
我认为网站结构不同... 我该怎么办?
你的定位器没问题:
driver.find_element_by_xpath("//input[@id='account_name_text_field']")
在iframe
里面,需要先切换,使用frame_to_be_available_and_switch_to_it
和visibility_of_element_located
,像这样:
driver.get('https://appstoreconnect.apple.com/login')
WebDriverWait(driver, 30).until(expected_conditions.frame_to_be_available_and_switch_to_it((By.ID, "aid-auth-widget-iFrame")))
WebDriverWait(driver, 30).until(expected_conditions.visibility_of_element_located((By.XPATH, "//input[@id='account_name_text_field']")))
elem = driver.find_element_by_xpath("//input[@id='account_name_text_field']")
elem.send_keys("userName")
以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions