问题在于:我想在亚马逊上搜索关键词并截图,我使用的是 selenium 包,但是在www.example.com上搜索时amazon.co.uk,送货地址显示为Unites States,如何更改“Deliver to Country”?
下面是Python代码示例和屏幕截图示例。
import time as t
from datetime import datetime
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
chrome_options = Options()
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument('disable-notifications')
chrome_options.add_argument("user-agent=UA")
chrome_options.add_argument("--start-maximized")
chrome_options.add_argument("--headless")
chrome_options.add_argument('window-size=2160x3840')
urls = ['https://www.amazon.co.uk/s?k=advil', 'https://www.amazon.co.uk/s?k=Whitening toothpaste']
def get_secondly_screenshots(navi_dictionary):
driver = webdriver.Chrome(ChromeDriverManager().install(), options=chrome_options)
driver.get('https://www.amazon.co.uk')
driver.execute_script("document.body.style.zoom='50%'")
driver.get(url)
try:
test = driver.find_element('xpath', '//*[@id="sp-cc-rejectall-link"]')
test.click()
print('gotcha!')
except:
pass
now = datetime.now()
date_time = now.strftime("%Y_%m_%d_%H_%M_%S")
sh_url = url.split('?k=')[1]
print(sh_url, date_time)
driver.save_screenshot(f'{sh_url}_{date_time}.png')
print('screenshotted ', url)
t.sleep(2)
driver.quit()
for url in urls:
get_secondly_screenshots(url)
2条答案
按热度按时间qoefvg9y1#
当您的IP地址不在英国时,为了在英国亚马逊上设置英国送货地址,您可以执行以下步骤:
1.打开“交货地点”对话框
1.插入一些有效的英国邮政编码,然后单击“提交”按钮
1.在弹出窗口后出现的上批准此。
1.正如您所要求的,我还添加了关闭cookie横幅的代码,然后单击“继续”。
下面的Selenium代码执行该操作
此代码的结果为
如果您对我的代码有任何疑问-请不要犹豫。
mctunoxg2#
最初与该开关交互并设置所需的国家/地区还不够吗?
让我对您的代码做一些修改,我将在下面解释,以使它更好地执行此任务。
1.有必要解决此折旧通知:* '过时警告:executable_path已过时,请传入服务对象'*。
1.您可以示例化驱动程序、拒绝Cookie以及仅更改一次交付国家/地区,而不是在每次迭代时更改。
1.你必须集成一些驱动程序wait(和不休眠),以防止页面仍然不能正常加载和脚本失败。“延迟”参数,你可以配置的基础上,你的连接速度,网页的沉重性,和你的pc的性能。
1.您要求更改交货国家/地区,因此只需在下拉菜单中选择相应的值Select。您可以通过更改该字符串来更改国家/地区。但是,如果您想从www.example.com输入UKamazon.co.uk(尚未选择),则必须输入邮政编码。
要继续使用UK,您必须注解掉Select部分,并在主体中实现以下代码: