# _*_coding:utf-8_*_
from selenium import webdriver
driver=webdriver.Chrome()
url="https://login.alibaba.com"
driver.get(url)
driver.implicitly_wait(3)
print(driver.page_source)
driver.quit()
我想通过selenium登录,但找不到登录ID“fm-login-id”
答案 0 :(得分:0)
根据您共享 URL
的url="https://login.alibaba.com"
,找到Email Address
字段,即 fm-login-id Selenium-Java
您可以使用以下任一方法:
xpath
:
driver.find_element_by_xpath("//input[@id='fm-login-id']")
cssSelector
:
driver.find_element_by_css_selector("input#fm-login-id")
答案 1 :(得分:0)
阿里巴巴的登录位于不同的iFrame中,这就是为什么你没有得到它的ID并得到错误" 找不到元素"
我在java selenium中为你创建了一个样本并且它正在工作。
driver.get("https://passport.alibaba.com/mini_login.htm?lang=en_us&appName=icbu&appEntrance=default&styleType=auto&bizParams=¬LoadSsoView=false¬KeepLogin=true&isMobile=false&ut=B8605a4b80fd5c7e8e8957efccc7ad5ea&showKeepLogin=true&showSnsLogin=true&cssLink=https%3A%2F%2Fu.alicdn.com%2Fcss%2F6v%2Frun%2Fcommon%2Fxman%2Fhavana-thirdpart-login.css®Url=https%3A%2F%2Faccounts.alibaba.com%2Fregister%2Fregister.htm%3Freturn_url%3Dhttp%253A%252F%252Fwww.alibaba.com&rnd=0.2729010632370805");
Thread.sleep(3);
driver.findElement(By.xpath("//*[@id='fm-login-id']")).sendKeys("Test_User");
我运行了这段代码并且工作正常。
答案 2 :(得分:0)
为了能够处理身份验证表单中的元素,您需要切换到driver=webdriver.Chrome()
url="https://login.alibaba.com"
driver.get(url)
deiver.switch_to.frame("alibaba-login-box")
driver.find_element_by_id("fm-login-id").send_keys("my email")
driver.find_element_by_id("fm-login-password").send_keys("my password")
:
{{1}}