私は下のリンクで購入アイテム操作をシミュレートしようとします。なぜpython seleniumが空のpage_sourceを取得するのですか?
そして、あなたは下のボタンをクリックした後、(最初にログインが必要です)。
img_link:
リンクはnew linkにジャンプします。
しかし、私が今page_sourceを印刷すると、空の値が得られます。
これはどうしてですか?
そしてもちろん、任意の要素の場所がにつながる:私はGoogleで検索し、私はそれがページのアンロードに起因していないことを知っている
selenium.common.exceptions.NoSuchElementException
を。
なぜこれが起こり、それを修正するのですか?
ここに私が使用するコードがあります。 アカウント名とコードはcfgファイルにあります。
# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import os
import time
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.keys import Keys #需要引入keys包
chromedriver = "chromedriver.exe"
os.environ["webdriver.chrome.driver"] = chromedriver
d = {}
with open("cfg.ini", encoding = 'utf-8') as f:
for line in f:
(key, val) = line.split()
d[key] = val
options = webdriver.ChromeOptions()
options.add_argument('--ignore-certificate-errors')
options.add_argument('--ignore-ssl-errors')
driver = webdriver.Chrome(chrome_options=options)
driver.maximize_window()
driver.get('https://login.taobao.com/member/login.jhtml')
time.sleep(2)
driver.find_element_by_id('J_Quick2Static').click()
driver.find_element_by_id("TPL_username_1").clear()
driver.find_element_by_id("TPL_username_1").send_keys(d['accountname'])
driver.find_element_by_id("TPL_username_1").send_keys(Keys.TAB)
time.sleep(1)
driver.find_element_by_name("TPL_password").send_keys(d['code'])
driver.find_element_by_css_selector('#J_SubmitStatic').click()
print('-' * 20)
print(d['phone'])
driver.get(d['itemurl'])
element=WebDriverWait(driver,60).until(lambda driver :
driver.find_element_by_css_selector('#J_LinkBuy'))
# with open('res1.html', 'a') as the_file:
# the_file.write(driver.page_source)
element.click()
element=WebDriverWait(driver,60).until(lambda driver :
driver.find_element_by_css_selector('#J_phone'))
driver.find_element_by_id('J_phone').click()
print('here is the page')
print(driver.page_source)
cfgファイルは、このようなものです:
accountname xxx
code xxxx
phone xxxx
itemurl xxxx
使用しているコードを投稿できますか?あなたの投稿の画像も見えません。 –
@KoenMeijer私はすでに思い出させるためにコードを追加して、あなたはtaobaoのアカウントとpwdが必要です – Lee