首页 > 解决方案 > Python selenium:编辑网页源代码

问题描述

这是我的代码:

import os
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options



opt = Options()
opt.add_argument("--disable-infobars")
opt.add_argument("start-maximized")
# Pass the argument 1 to allow and 2 to block
opt.add_experimental_option("prefs", {
        "profile.default_content_setting_values.media_stream_mic": 2,
        "profile.default_content_setting_values.media_stream_camera": 2,
        "profile.default_content_setting_values.geolocation": 2,
        "profile.default_content_setting_values.notifications": 2
    })

executable_path = r'C:\Users\SAMSUNG\Dropbox\CreationNumMaroc\chromedriver'
os.environ["webdriver.chrome.driver"] = executable_path
global driver
driver = webdriver.Chrome(r'C:\Users\SAMSUNG\Dropbox\CreationNumMaroc\chromedriver', options=opt)

# NavigationStart
time.sleep(3)
driver.get("https://yandex.com/")
time.sleep(4)
driver.find_element_by_xpath("//input[@class='input__control input__input mini-suggest__input']").send_keys("fkljdslkjdfdks")
time.sleep(2)
html_source = driver.page_source
if "fkljdslkjdfdks" in html_source:
    print(html_source)
else:
    print("nothing")

我的脚本转到 yandex.ru,在搜索“fkljdslkjdfdks”上写。然后:我想从源页面编辑单词“fkljdslkjdfdks”。

标签: pythonselenium

解决方案


您没有点击搜索按钮,这就是您可能在页面源代码中找不到搜索字符串的原因。

点击搜索按钮:

driver.find_element_by_xpath("//span[text()='Search']/..").click()

更新 1:

如果要更改文本,则必须找到该元素的定位器。这是示例代码:

 element = driver.find_element_by_id("fkljdslkjdfdks id locator")
 driver.execute_script("arguments[0].innerText = 'your new string value';", element)

推荐阅读