セレンを使用してウェブサイトの検索を自動化しています。 ここに私のコードです。セレンで検索すると自動的にログアウトされます
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
def init_driver():
driver = webdriver.Firefox()
driver.wait = WebDriverWait(driver, 5)
return driver
def lookup(driver, query):
driver.get("www.example.com/search.php")
try:
button = driver.wait.until(EC.element_to_be_clickable(
(By.ID, "ad")))
button.click()
# query = "telugu"
# box = driver.wait.until(EC.element_to_be_clickable(
# (By.NAME, "keytext")))
# box.send_keys(query)
submit_text = "SEARCH"
submit_button = driver.wait.until(EC.element_to_be_clickable(
(By.XPATH, "(//*[contains(text(), '" + submit_text + "')] | //*[@value='" + submit_text + "'])")))
submit_button.click()
print 'aaaa'
except TimeoutException:
print("Box or Button not found in google.com")
if __name__ == "__main__":
driver = init_driver()
lookup(driver, "Selenium")
time.sleep(1000)
driver.quit()
私はfirefoxでサイトにログインし、このスクリプトを実行します。
正常に開くURL(私がサインインしているときに開くこのURL)は、検索ボタンをクリックします。
結果が数秒間表示され、サインイン画面が表示されます。
しかし、私は別のタブでこのサイトを開くと、私はに署名していますので、私は実際にはログアウトしていないです。
を私はサイトは何とかそれがあることを検出selenium.Isでこの奇妙な振る舞いを理解していないですクリックしようとしているボットですか?
誰でもこの問題を解決する方法や迂回する方法を教えてください。
手作業で同じ手順を試してください。これは製品の欠陥かもしれません。 –
手作業で試してみましたが、完璧に動作しました! – user3425344