send_Keys失败与Chromedriver无头



我是硒的新手,我正在尝试从这个网站输入的具体日期来获取费率:OANDA。例如,Send_Keys '2019-09-06' 和 USD-EUR 的要价平均汇率为 0.90588。

它无需无头即可正常工作,结果是正确的。但是,当我添加无头选项时,Send_Keys失败,它今天返回要价平均率,这不是我想要的。

该程序稍后将在 Linux 服务器上执行,因此我必须在脚本中添加无头。如何解决这个问题?

谢谢。

铬版本:75.0.3770.80 蟒蛇:3.6.5 Linux:Red Hat Enterprise Linux Server Release 7.4 (Maipo(

from bs4 import BeautifulSoup 
from selenium import webdriver  
import time
import pandas as pd
from selenium.webdriver.common.keys import Keys
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--no-sandbox') 
chrome_options.add_argument('--headless')  
chrome_options.add_argument('--disable-dev-shm-usage') 
chrome_options.add_argument('--disable-extensions') 
chrome_options.add_argument('--window-size=1920x1080') 
chrome_options.add_argument('--disable-gpu') 
chrome_path = 'D://work/chromedriver.exe'
driver = webdriver.Chrome(chrome_path,chrome_options=chrome_options)
#start to crawl
driver.get('https://www1.oanda.com/currency/converter/') 
time.sleep(1)

end_date_input = driver.find_element_by_id('end_date_input')
end_date_input.send_keys(Keys.CONTROL + 'a')
time.sleep(1)
end_date_input.send_keys(Keys.DELETE)
time.sleep(1)
end_date_input.send_keys('2019-09-06')
time.sleep(1)
end_date_input.send_keys(Keys.ENTER)
time.sleep(1)
soup = BeautifulSoup(driver.page_source, 'html.parser')
table_soup= soup.findAll('tr',{'class':'body'})[1]
bidAskAskAvg = round(float(table_soup.findAll('td')[4].text),8)
print(bidAskAskAvg)

预期:0.90588,但它返回:0.90721(我不想要它。

在 Linux Mint 上,我在这两种情况下都得到错误的结果 - 有和没有headless- 但我可以看到它期望美国格式的日期MM/DD/YYYY-'09/06/2019'.

如果我使用'09/06/2019'那么无论有没有headless,我都会得到正确的结果。

相关内容

  • 没有找到相关文章

最新更新