kif1205 / Selenium

0 stars 0 forks source link

Headless #16

Open kif1205 opened 3 years ago

kif1205 commented 3 years ago
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from bs4 import BeautifulSoup
import json

options = Options()
options.add_argument("--headless")
driver_path = 'chromedriver.exe'  # webdriver執行檔路徑。這最好寫在設置檔中,這裡為方便說明才直接寫在代碼中。
driver = webdriver.Chrome(executable_path=driver_path, chrome_options=options)
print("########## driver : " , driver)
driver.get('http://www.google.com/')  # 這個URL是虛構的,原本的URL必須等待數秒鐘之後才會出現所要的JSON資料
WebDriverWait(driver, 18, 6).until_not(lambda x: x.find_element_by_id('x_id').is_displayed())  # 這個x_id也是虛構的
soup = BeautifulSoup(driver.page_source, 'html.parser')
print("########## soup : " , soup)
driver.quit()
content = soup.body.get_text()  # 取得其中的JSON文字。可與下一行寫成一行,這裡為方便說明,分成兩行。
print("########## content : " , content)
data = json.loads(content)
print("########## data : " , data)
kif1205 commented 3 years ago
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time

options = Options()
options.add_argument("--headless")
driver_path = 'chromedriver.exe' 
driver = webdriver.Chrome(executable_path=driver_path, chrome_options=options)
#driver = webdriver.Chrome(executable_path=driver_path)
print("########## driver : " , driver)
driver.get('http://www.google.com/')  
time.sleep(3)
print("########## Open Target successfully")

test_xpath = '//*[@id="prm"]/div/a'
inputelement = driver.find_element_by_xpath(test_xpath)
print("inputelement text : " , inputelement.text)

# Input a test string to search
test_xpath = '//*[@id="tsf"]/div[2]/div[1]/div[1]/div/div[2]/input'

inputelement = driver.find_element_by_xpath(test_xpath)
inputelement.send_keys("dfsffddddddddddddddddddd")

# Click Search Button
test_xpath_ = '//*[@id="tsf"]/div[2]/div[1]/div[3]/center/input[1]'
inputelement_ = driver.find_element_by_xpath(test_xpath_)
inputelement_.click()
time.sleep(3)

try:
    # Get the first query result's text string
    #test_xpath = '//*[@id="knowledge-finance-wholepage__entity-summary"]/div/g-card-section/div/g-card-section/div[1]/div[1]/div[1]'
    test_xpath = '//*[@id="hdtb-msb-vis"]/div[5]/a'
    inputelement = driver.find_element_by_xpath(test_xpath)
    print("inputelement text : " , inputelement.text)
except Exception as err:
    print("err : " , err)